contentoh-components-library 21.1.55 → 21.1.59
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/GeneralInput/index.js +1 -0
- package/dist/components/molecules/HeaderTop/index.js +1 -4
- package/dist/components/molecules/RetailerSelector/index.js +0 -32
- package/dist/components/molecules/StatusAsignationInfo/index.js +2 -3
- package/dist/components/organisms/FullProductNameHeader/index.js +1 -1
- package/dist/components/organisms/FullTabsMenu/index.js +1 -3
- package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +64 -122
- package/dist/components/pages/ProviderProductEdition/index.js +348 -330
- 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 +86 -41
- package/dist/components/pages/RetailerProductEdition/index.js +210 -198
- package/dist/components/pages/RetailerProductEdition/styles.js +1 -1
- package/dist/global-files/data.js +2 -1
- package/package.json +1 -1
- package/src/components/atoms/GeneralInput/index.js +1 -0
- package/src/components/atoms/ValidationPanel/index.js +1 -1
- package/src/components/molecules/HeaderTop/index.js +1 -6
- package/src/components/molecules/RetailerSelector/index.js +0 -15
- package/src/components/molecules/StatusAsignationInfo/index.js +2 -3
- package/src/components/organisms/FullProductNameHeader/index.js +1 -1
- package/src/components/organisms/FullTabsMenu/index.js +0 -2
- package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +70 -140
- package/src/components/pages/ProviderProductEdition/index.js +170 -172
- package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +87 -38
- package/src/components/pages/RetailerProductEdition/index.js +140 -166
- package/src/components/pages/RetailerProductEdition/styles.js +1 -1
- package/src/global-files/data.js +2 -1
|
@@ -177,6 +177,7 @@ export const ProviderProductEdition = ({
|
|
|
177
177
|
const isRetailer = user?.is_retailer;
|
|
178
178
|
const [loading, setLoading] = useState(true);
|
|
179
179
|
const [statusArray, setStatusArray] = useState([]);
|
|
180
|
+
console.log(retailerStatus, "retailerStatus");
|
|
180
181
|
|
|
181
182
|
const originProp = location?.state?.origin;
|
|
182
183
|
const [origin, setOrigin] = useState({
|
|
@@ -208,6 +209,9 @@ export const ProviderProductEdition = ({
|
|
|
208
209
|
const [modalViewTextArea, setModalViewTextArea] = useState(false);
|
|
209
210
|
const [socketType, setSocketType] = useState(null);
|
|
210
211
|
const [saving, setSaving] = useState(loading);
|
|
212
|
+
const [retailerStatus, setRetailerStatus] = useState(
|
|
213
|
+
product.statusByRetailer
|
|
214
|
+
);
|
|
211
215
|
|
|
212
216
|
useEffect(() => {
|
|
213
217
|
checkAll && setSelectedImages(images.values);
|
|
@@ -233,11 +237,8 @@ export const ProviderProductEdition = ({
|
|
|
233
237
|
);
|
|
234
238
|
}
|
|
235
239
|
|
|
236
|
-
//setActiveRetailer(product?.retailers[0]);
|
|
237
|
-
setImages({
|
|
238
|
-
action: "init",
|
|
239
|
-
init: services[2],
|
|
240
|
-
});
|
|
240
|
+
// setActiveRetailer(product?.retailers[0]);
|
|
241
|
+
setImages({ action: "init", init: services[2] });
|
|
241
242
|
if (services[2]?.values?.length > 0) setActiveImage(0);
|
|
242
243
|
|
|
243
244
|
getPercentage({ data: [product] }).then((res) => setPercentages(res));
|
|
@@ -256,10 +257,11 @@ export const ProviderProductEdition = ({
|
|
|
256
257
|
}&end=true`
|
|
257
258
|
);
|
|
258
259
|
const parsedResponse = JSON.parse(servicesResponse?.data?.body).data;
|
|
260
|
+
const retailerResponse = parsedResponse?.map((srv) => srv.id_retailer);
|
|
259
261
|
let retailers = product.retailers || product.retailersAvailable;
|
|
260
|
-
let active = retailers?.
|
|
261
|
-
|
|
262
|
-
)
|
|
262
|
+
let active = retailers?.find((retailer) =>
|
|
263
|
+
retailerResponse.includes(retailer.id)
|
|
264
|
+
);
|
|
263
265
|
!activeRetailer.id && setActiveRetailer(active ? active : retailers[0]);
|
|
264
266
|
setServicesData(parsedResponse);
|
|
265
267
|
}
|
|
@@ -280,15 +282,15 @@ export const ProviderProductEdition = ({
|
|
|
280
282
|
if (revision && currentService === "AP") return true;
|
|
281
283
|
} else {
|
|
282
284
|
const { product } = productEdit;
|
|
283
|
-
|
|
284
|
-
orgn === "
|
|
285
|
-
(["
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
)
|
|
285
|
+
const isRequestWithoutContentoh =
|
|
286
|
+
orgn === "RequestWithoutContentoh" &&
|
|
287
|
+
(["R", "CA"].includes(currentService) ||
|
|
288
|
+
(currentService === "RCA" &&
|
|
289
|
+
(!product.id_order || !product.orderId)));
|
|
290
|
+
const isRequestWithContentoh =
|
|
291
|
+
orgn === "RequestWithContentoh" && currentService === "AA";
|
|
292
|
+
const isContentoh = orgn === "Contentoh" && currentService === "AA";
|
|
293
|
+
if (isContentoh || isRequestWithoutContentoh || isRequestWithContentoh)
|
|
292
294
|
return true;
|
|
293
295
|
}
|
|
294
296
|
}
|
|
@@ -305,26 +307,26 @@ export const ProviderProductEdition = ({
|
|
|
305
307
|
setInCart(arr.some((e) => e.articleId === product.id_article));
|
|
306
308
|
};
|
|
307
309
|
|
|
308
|
-
useEffect(
|
|
310
|
+
useEffect(() => {
|
|
309
311
|
sessionStorage.setItem("user", JSON.stringify(user));
|
|
310
312
|
loadData();
|
|
311
313
|
getCart();
|
|
312
|
-
|
|
314
|
+
fetchUsers(token).then((res) => setUserGroups(res));
|
|
313
315
|
let arr = [];
|
|
316
|
+
// ?? Que sentido tiene verificar los roles de colaborador en la app de proveedor
|
|
314
317
|
switch (user.id_role) {
|
|
315
318
|
case 7:
|
|
316
319
|
case 8:
|
|
317
|
-
arr = ["
|
|
320
|
+
arr = ["CA", "RC", "RA"];
|
|
318
321
|
break;
|
|
319
322
|
case 4:
|
|
320
323
|
case 5:
|
|
321
|
-
arr = ["
|
|
324
|
+
arr = ["RC", "AC", "AA", "AP", "ACA"];
|
|
322
325
|
break;
|
|
323
326
|
case 6:
|
|
324
|
-
arr = ["RP", "
|
|
327
|
+
arr = ["RP", "RCA", "AC"];
|
|
325
328
|
break;
|
|
326
329
|
default:
|
|
327
|
-
arr = [];
|
|
328
330
|
break;
|
|
329
331
|
}
|
|
330
332
|
setStatusArray(arr);
|
|
@@ -342,9 +344,9 @@ export const ProviderProductEdition = ({
|
|
|
342
344
|
const productTemp = product;
|
|
343
345
|
const retailers = productTemp?.retailersAvailable || productTemp?.retailers;
|
|
344
346
|
retailers?.forEach((retailer) => {
|
|
345
|
-
retailer["percentage"] = percentages?.
|
|
347
|
+
retailer["percentage"] = percentages?.find(
|
|
346
348
|
(percent) => retailer?.id === percent?.id_retailer
|
|
347
|
-
)
|
|
349
|
+
)?.percentage;
|
|
348
350
|
});
|
|
349
351
|
|
|
350
352
|
setProduct(productTemp);
|
|
@@ -420,7 +422,7 @@ export const ProviderProductEdition = ({
|
|
|
420
422
|
};
|
|
421
423
|
if (product?.orderId) dataObject["orderId"] = product?.orderId;
|
|
422
424
|
try {
|
|
423
|
-
await axios.put(
|
|
425
|
+
const res = await axios.put(
|
|
424
426
|
`${process.env.REACT_APP_ARTICLE_DATA_ENDPOINT}?description=true&version=${version}`,
|
|
425
427
|
dataObject,
|
|
426
428
|
{
|
|
@@ -429,8 +431,10 @@ export const ProviderProductEdition = ({
|
|
|
429
431
|
},
|
|
430
432
|
}
|
|
431
433
|
);
|
|
432
|
-
|
|
433
|
-
|
|
434
|
+
if (res.data.statusCode === 200) {
|
|
435
|
+
setMessage("Descripciones guardadas con éxito");
|
|
436
|
+
await loadData();
|
|
437
|
+
}
|
|
434
438
|
} catch (error) {
|
|
435
439
|
console.log(error);
|
|
436
440
|
}
|
|
@@ -453,8 +457,10 @@ export const ProviderProductEdition = ({
|
|
|
453
457
|
},
|
|
454
458
|
}
|
|
455
459
|
);
|
|
456
|
-
|
|
457
|
-
|
|
460
|
+
if (res.data.statusCode === 200) {
|
|
461
|
+
setMessage("Fichas técnicas guardadas");
|
|
462
|
+
await loadData();
|
|
463
|
+
}
|
|
458
464
|
} catch (error) {
|
|
459
465
|
console.log(error);
|
|
460
466
|
}
|
|
@@ -552,7 +558,7 @@ export const ProviderProductEdition = ({
|
|
|
552
558
|
return e;
|
|
553
559
|
});
|
|
554
560
|
try {
|
|
555
|
-
await axios.put(
|
|
561
|
+
const res = await axios.put(
|
|
556
562
|
`${process.env.REACT_APP_ARTICLE_DATA_ENDPOINT}?image=true&version=${version}`,
|
|
557
563
|
dataImages,
|
|
558
564
|
{
|
|
@@ -561,9 +567,11 @@ export const ProviderProductEdition = ({
|
|
|
561
567
|
},
|
|
562
568
|
}
|
|
563
569
|
);
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
570
|
+
if (res.data.statusCode === 200) {
|
|
571
|
+
setMessage("Imágenes guardadas con éxito");
|
|
572
|
+
sessionStorage.removeItem("imagesList");
|
|
573
|
+
await loadData();
|
|
574
|
+
}
|
|
567
575
|
} catch (error) {
|
|
568
576
|
console.log(error);
|
|
569
577
|
}
|
|
@@ -665,12 +673,12 @@ export const ProviderProductEdition = ({
|
|
|
665
673
|
},
|
|
666
674
|
],
|
|
667
675
|
concept: concept,
|
|
668
|
-
|
|
676
|
+
userId: assignationId,
|
|
669
677
|
};
|
|
670
|
-
axios({
|
|
678
|
+
await axios({
|
|
671
679
|
method: "post",
|
|
672
680
|
url: process.env.REACT_APP_ASSIGNATIONS_ENDPOINT,
|
|
673
|
-
data
|
|
681
|
+
data,
|
|
674
682
|
headers: {
|
|
675
683
|
Authorization: token,
|
|
676
684
|
},
|
|
@@ -688,7 +696,7 @@ export const ProviderProductEdition = ({
|
|
|
688
696
|
serv = serv.filter((f) => f.id_retailer === activeRetailer.id);
|
|
689
697
|
}
|
|
690
698
|
const statusArray =
|
|
691
|
-
user.is_retailer === 1 ? ["
|
|
699
|
+
user.is_retailer === 1 ? ["ACA", "RCA"] : ["AP", "RP", "ACA"];
|
|
692
700
|
return (
|
|
693
701
|
serv.length > 0 && serv.every((item) => statusArray.includes(item.status))
|
|
694
702
|
);
|
|
@@ -787,18 +795,11 @@ export const ProviderProductEdition = ({
|
|
|
787
795
|
}
|
|
788
796
|
};
|
|
789
797
|
|
|
790
|
-
const getSectionStatus = () => {
|
|
791
|
-
const concept = getConcept(activeTab);
|
|
792
|
-
return ["AA", "AP", "R", "CA", "RCA"].includes(
|
|
793
|
-
productEdit.product[`${concept}_status`]
|
|
794
|
-
);
|
|
795
|
-
};
|
|
796
|
-
|
|
797
798
|
const confirmStatusComplete = () => {
|
|
798
799
|
const { datasheet_status, description_status, images_status } = product;
|
|
799
800
|
const completionStates =
|
|
800
801
|
user.is_retailer === 1
|
|
801
|
-
? ["
|
|
802
|
+
? ["ACA", "Evaluated", "NS"]
|
|
802
803
|
: ["AP", "Evaluated", "NS"];
|
|
803
804
|
const dsEvaluated = completionStates.includes(datasheet_status);
|
|
804
805
|
const descsEvaluated = completionStates.includes(description_status);
|
|
@@ -843,7 +844,8 @@ export const ProviderProductEdition = ({
|
|
|
843
844
|
const newProductEdit = productEdit;
|
|
844
845
|
newProductEdit.product[sectionStatusKey] = serviceStatus;
|
|
845
846
|
setProductEdit(newProductEdit);
|
|
846
|
-
showSurvey &&
|
|
847
|
+
showSurvey &&
|
|
848
|
+
showSurvey(!user.is_retailer && orderStatus[orderId] === "AP");
|
|
847
849
|
} else {
|
|
848
850
|
res = await axios.put(`${process.env.REACT_APP_SEND_EVAL}`, data, {
|
|
849
851
|
headers: {
|
|
@@ -868,13 +870,11 @@ export const ProviderProductEdition = ({
|
|
|
868
870
|
setProduct(productTemp);
|
|
869
871
|
sessionStorage.setItem("productSelected", JSON.stringify(productTemp));
|
|
870
872
|
setOrigin((prev) => ({ ...prev, [concept]: status }));
|
|
871
|
-
await loadData();
|
|
872
873
|
}
|
|
873
874
|
} catch (err) {
|
|
874
875
|
console.log(err);
|
|
875
876
|
}
|
|
876
877
|
loadData();
|
|
877
|
-
showSurvey && showSurvey(confirmStatusComplete());
|
|
878
878
|
};
|
|
879
879
|
|
|
880
880
|
const validateAll = async (result) => {
|
|
@@ -920,13 +920,24 @@ export const ProviderProductEdition = ({
|
|
|
920
920
|
|
|
921
921
|
await Promise.all(sendAll);
|
|
922
922
|
const productTemp = product;
|
|
923
|
-
productTemp.article_status = `${result}
|
|
923
|
+
productTemp.article_status = `${result}CA`;
|
|
924
924
|
productTemp.datasheet_status =
|
|
925
|
-
productTemp.datasheet_status === "NA" ? "NA" : `${result}
|
|
925
|
+
productTemp.datasheet_status === "NA" ? "NA" : `${result}CA`;
|
|
926
926
|
productTemp.description_status =
|
|
927
|
-
productTemp.description_status === "NA" ? "NA" : `${result}
|
|
927
|
+
productTemp.description_status === "NA" ? "NA" : `${result}CA`;
|
|
928
928
|
productTemp.images_status =
|
|
929
|
-
productTemp.images_status === "NA" ? "NA" : `${result}
|
|
929
|
+
productTemp.images_status === "NA" ? "NA" : `${result}CA`;
|
|
930
|
+
|
|
931
|
+
const retailerStatusCopy = { ...retailerStatus };
|
|
932
|
+
Object.keys(retailerStatusCopy).forEach((key) => {
|
|
933
|
+
conceptArray.forEach((concept) => {
|
|
934
|
+
if (retailerStatusCopy[key][concept]) {
|
|
935
|
+
retailerStatusCopy[key][concept] = `${result}CA`;
|
|
936
|
+
}
|
|
937
|
+
});
|
|
938
|
+
});
|
|
939
|
+
setRetailerStatus(retailerStatusCopy);
|
|
940
|
+
productTemp.statusByRetailer = retailerStatusCopy;
|
|
930
941
|
setProduct(productTemp);
|
|
931
942
|
sessionStorage.setItem("productSelected", JSON.stringify(productTemp));
|
|
932
943
|
setProductEdit({
|
|
@@ -943,7 +954,7 @@ export const ProviderProductEdition = ({
|
|
|
943
954
|
})
|
|
944
955
|
);
|
|
945
956
|
|
|
946
|
-
loadData();
|
|
957
|
+
await loadData();
|
|
947
958
|
} catch (error) {
|
|
948
959
|
console.log(error);
|
|
949
960
|
}
|
|
@@ -964,7 +975,7 @@ export const ProviderProductEdition = ({
|
|
|
964
975
|
},
|
|
965
976
|
});
|
|
966
977
|
const prod = productEdit;
|
|
967
|
-
const statusComplete = user.is_retailer ? `${result}
|
|
978
|
+
const statusComplete = user.is_retailer ? `${result}CA` : `${result}P`;
|
|
968
979
|
prod.product.datasheet_status = statusComplete;
|
|
969
980
|
prod.product.description_status = statusComplete;
|
|
970
981
|
prod.product.images_status = statusComplete;
|
|
@@ -973,17 +984,22 @@ export const ProviderProductEdition = ({
|
|
|
973
984
|
sessionStorage.setItem("productEdit", JSON.stringify(prod));
|
|
974
985
|
setProduct(prod);
|
|
975
986
|
setShowGenericModal && setShowGenericModal(false);
|
|
976
|
-
loadData();
|
|
987
|
+
await loadData();
|
|
988
|
+
};
|
|
989
|
+
|
|
990
|
+
const getSectionStatus = () => {
|
|
991
|
+
const concept = getConcept(activeTab);
|
|
992
|
+
return ["AA", "AP", "R", "CA", "RCA"].includes(
|
|
993
|
+
productEdit.product[`${concept}_status`]
|
|
994
|
+
);
|
|
977
995
|
};
|
|
978
996
|
|
|
979
997
|
const enableActions = (versionStatus) => {
|
|
980
998
|
try {
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
if (userIsRetailer) return false;
|
|
999
|
+
if (user.is_retailer) return false;
|
|
984
1000
|
|
|
985
1001
|
if (versionStatus) {
|
|
986
|
-
return ["AP", "
|
|
1002
|
+
return ["AP", "ACA", "RCA", null].includes(versionStatus);
|
|
987
1003
|
}
|
|
988
1004
|
return true;
|
|
989
1005
|
} catch (err) {
|
|
@@ -1073,23 +1089,21 @@ export const ProviderProductEdition = ({
|
|
|
1073
1089
|
},
|
|
1074
1090
|
}));
|
|
1075
1091
|
setShowGenericModal(true);
|
|
1076
|
-
} else {
|
|
1077
|
-
if (
|
|
1078
|
-
if (product.id_order || product.orderId) {
|
|
1079
|
-
validateAll("A");
|
|
1080
|
-
} else {
|
|
1081
|
-
setDataGenericModal((prev) => ({
|
|
1082
|
-
...prev,
|
|
1083
|
-
button2: {
|
|
1084
|
-
name: "Continuar",
|
|
1085
|
-
action: () => evaluationToRetailer("A"),
|
|
1086
|
-
},
|
|
1087
|
-
}));
|
|
1088
|
-
setShowGenericModal(true);
|
|
1089
|
-
}
|
|
1090
|
-
} else {
|
|
1092
|
+
} else if (user.is_retailer) {
|
|
1093
|
+
if (product.id_order || product.orderId) {
|
|
1091
1094
|
validateAll("A");
|
|
1095
|
+
} else {
|
|
1096
|
+
setDataGenericModal((prev) => ({
|
|
1097
|
+
...prev,
|
|
1098
|
+
button2: {
|
|
1099
|
+
name: "Continuar",
|
|
1100
|
+
action: () => evaluationToRetailer("A"),
|
|
1101
|
+
},
|
|
1102
|
+
}));
|
|
1103
|
+
setShowGenericModal(true);
|
|
1092
1104
|
}
|
|
1105
|
+
} else {
|
|
1106
|
+
validateAll("A");
|
|
1093
1107
|
}
|
|
1094
1108
|
}}
|
|
1095
1109
|
rejectAll={() => {
|
|
@@ -1099,25 +1113,23 @@ export const ProviderProductEdition = ({
|
|
|
1099
1113
|
(!product.id_order || !product.orderId)
|
|
1100
1114
|
) {
|
|
1101
1115
|
return;
|
|
1102
|
-
} else {
|
|
1103
|
-
if (
|
|
1104
|
-
if (product.id_order || product.orderId) {
|
|
1105
|
-
validateAll("R");
|
|
1106
|
-
setModalViewError(true);
|
|
1107
|
-
} else {
|
|
1108
|
-
setDataGenericModal((prev) => ({
|
|
1109
|
-
...prev,
|
|
1110
|
-
button2: {
|
|
1111
|
-
name: "Continuar",
|
|
1112
|
-
action: () => evaluationToRetailer("R"),
|
|
1113
|
-
},
|
|
1114
|
-
}));
|
|
1115
|
-
setShowGenericModal(true);
|
|
1116
|
-
}
|
|
1117
|
-
} else {
|
|
1116
|
+
} else if (user.is_retailer) {
|
|
1117
|
+
if (product.id_order || product.orderId) {
|
|
1118
1118
|
validateAll("R");
|
|
1119
1119
|
setModalViewError(true);
|
|
1120
|
+
} else {
|
|
1121
|
+
setDataGenericModal((prev) => ({
|
|
1122
|
+
...prev,
|
|
1123
|
+
button2: {
|
|
1124
|
+
name: "Continuar",
|
|
1125
|
+
action: () => evaluationToRetailer("R"),
|
|
1126
|
+
},
|
|
1127
|
+
}));
|
|
1128
|
+
setShowGenericModal(true);
|
|
1120
1129
|
}
|
|
1130
|
+
} else {
|
|
1131
|
+
validateAll("R");
|
|
1132
|
+
setModalViewError(true);
|
|
1121
1133
|
}
|
|
1122
1134
|
}}
|
|
1123
1135
|
approve={() => {
|
|
@@ -1134,23 +1146,21 @@ export const ProviderProductEdition = ({
|
|
|
1134
1146
|
},
|
|
1135
1147
|
}));
|
|
1136
1148
|
setShowGenericModal(true);
|
|
1137
|
-
} else {
|
|
1138
|
-
if (
|
|
1139
|
-
if (product.id_order || product.orderId) {
|
|
1140
|
-
sendEvaluation("A");
|
|
1141
|
-
} else {
|
|
1142
|
-
setDataGenericModal((prev) => ({
|
|
1143
|
-
...prev,
|
|
1144
|
-
button2: {
|
|
1145
|
-
name: "Continuar",
|
|
1146
|
-
action: () => evaluationToRetailer("A"),
|
|
1147
|
-
},
|
|
1148
|
-
}));
|
|
1149
|
-
setShowGenericModal(true);
|
|
1150
|
-
}
|
|
1151
|
-
} else {
|
|
1149
|
+
} else if (user.is_retailer) {
|
|
1150
|
+
if (product.id_order || product.orderId) {
|
|
1152
1151
|
sendEvaluation("A");
|
|
1152
|
+
} else {
|
|
1153
|
+
setDataGenericModal((prev) => ({
|
|
1154
|
+
...prev,
|
|
1155
|
+
button2: {
|
|
1156
|
+
name: "Continuar",
|
|
1157
|
+
action: () => evaluationToRetailer("A"),
|
|
1158
|
+
},
|
|
1159
|
+
}));
|
|
1160
|
+
setShowGenericModal(true);
|
|
1153
1161
|
}
|
|
1162
|
+
} else {
|
|
1163
|
+
sendEvaluation("A");
|
|
1154
1164
|
}
|
|
1155
1165
|
}}
|
|
1156
1166
|
reject={() => {
|
|
@@ -1160,33 +1170,33 @@ export const ProviderProductEdition = ({
|
|
|
1160
1170
|
(!product.id_order || !product.orderId)
|
|
1161
1171
|
) {
|
|
1162
1172
|
return;
|
|
1163
|
-
} else {
|
|
1164
|
-
if (
|
|
1165
|
-
if (product.id_order || product.orderId) {
|
|
1166
|
-
sendEvaluation("R");
|
|
1167
|
-
setModalViewError(true);
|
|
1168
|
-
} else {
|
|
1169
|
-
setDataGenericModal((prev) => ({
|
|
1170
|
-
...prev,
|
|
1171
|
-
button2: {
|
|
1172
|
-
name: "Continuar",
|
|
1173
|
-
action: () => evaluationToRetailer("R"),
|
|
1174
|
-
},
|
|
1175
|
-
}));
|
|
1176
|
-
setShowGenericModal(true);
|
|
1177
|
-
}
|
|
1178
|
-
} else {
|
|
1173
|
+
} else if (user.is_retailer) {
|
|
1174
|
+
if (product.id_order || product.orderId) {
|
|
1179
1175
|
sendEvaluation("R");
|
|
1180
1176
|
setModalViewError(true);
|
|
1177
|
+
} else {
|
|
1178
|
+
setDataGenericModal((prev) => ({
|
|
1179
|
+
...prev,
|
|
1180
|
+
button2: {
|
|
1181
|
+
name: "Continuar",
|
|
1182
|
+
action: () => evaluationToRetailer("R"),
|
|
1183
|
+
},
|
|
1184
|
+
}));
|
|
1185
|
+
setShowGenericModal(true);
|
|
1181
1186
|
}
|
|
1187
|
+
} else {
|
|
1188
|
+
sendEvaluation("R");
|
|
1189
|
+
setModalViewError(true);
|
|
1182
1190
|
}
|
|
1183
1191
|
}}
|
|
1184
1192
|
/>
|
|
1185
1193
|
<FullTabsMenu
|
|
1186
1194
|
tabsSections={tabsSections}
|
|
1187
1195
|
status={
|
|
1188
|
-
|
|
1189
|
-
|
|
1196
|
+
activeRetailer.id && retailerStatus
|
|
1197
|
+
? retailerStatus[activeRetailer?.id][getConcept(activeTab)] ||
|
|
1198
|
+
"NS"
|
|
1199
|
+
: "-"
|
|
1190
1200
|
}
|
|
1191
1201
|
activeTab={activeTab}
|
|
1192
1202
|
setActiveTab={setActiveTab}
|
|
@@ -1329,56 +1339,44 @@ export const ProviderProductEdition = ({
|
|
|
1329
1339
|
/>
|
|
1330
1340
|
</div>
|
|
1331
1341
|
)}
|
|
1332
|
-
<Button
|
|
1333
|
-
buttonType={
|
|
1334
|
-
evaluationComplete(activeTab) &&
|
|
1335
|
-
(productEdit.product.id_order || productEdit.product.orderId)
|
|
1336
|
-
? "general-green-button"
|
|
1337
|
-
: "general-button-disabled"
|
|
1338
|
-
}
|
|
1339
|
-
label={"Enviar evaluación"}
|
|
1340
|
-
onClick={() => {
|
|
1341
|
-
//setModalSent(true);
|
|
1342
|
-
sendEvaluation();
|
|
1343
|
-
setMessage(`¡Evaluación de ${activeTab} completada!`);
|
|
1344
|
-
}}
|
|
1345
|
-
/>
|
|
1346
1342
|
</div>
|
|
1347
|
-
) :
|
|
1348
|
-
|
|
1349
|
-
<div>
|
|
1350
|
-
<
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1343
|
+
) : (
|
|
1344
|
+
!revision && (
|
|
1345
|
+
<div className="required-inputs-message">
|
|
1346
|
+
<div>
|
|
1347
|
+
<p>
|
|
1348
|
+
Los atributos son requeridos por las plataformas de las
|
|
1349
|
+
cadenas, es muy importante completar los campos requeridos
|
|
1350
|
+
ya que pueden rechazar el producto por falta de información.
|
|
1351
|
+
</p>
|
|
1352
|
+
</div>
|
|
1353
|
+
{inCart ? (
|
|
1354
|
+
<button type="button">
|
|
1355
|
+
<Link to="/checkout">
|
|
1356
|
+
<p>Articulo en carrito</p>
|
|
1357
|
+
<p>Ir a checkout</p>
|
|
1358
|
+
</Link>
|
|
1359
|
+
</button>
|
|
1360
|
+
) : (
|
|
1361
|
+
<>
|
|
1362
|
+
<SliderToolTip
|
|
1363
|
+
infoIcon={InfoIcon}
|
|
1364
|
+
slidefront={slidefront}
|
|
1365
|
+
iconSize={"big-image"}
|
|
1366
|
+
slidePosition={"top-slide"}
|
|
1367
|
+
/>
|
|
1368
|
+
<Button
|
|
1369
|
+
onClick={() => {
|
|
1370
|
+
setShowContentohRequestModal &&
|
|
1371
|
+
setShowContentohRequestModal(true);
|
|
1372
|
+
}}
|
|
1373
|
+
buttonType="general-default-button"
|
|
1374
|
+
label="Enviar a Content-oh!"
|
|
1375
|
+
/>
|
|
1376
|
+
</>
|
|
1377
|
+
)}
|
|
1355
1378
|
</div>
|
|
1356
|
-
|
|
1357
|
-
<button type="button">
|
|
1358
|
-
<Link to="/checkout">
|
|
1359
|
-
<p>Articulo en carrito</p>
|
|
1360
|
-
<p>Ir a checkout</p>
|
|
1361
|
-
</Link>
|
|
1362
|
-
</button>
|
|
1363
|
-
) : (
|
|
1364
|
-
<>
|
|
1365
|
-
<SliderToolTip
|
|
1366
|
-
infoIcon={InfoIcon}
|
|
1367
|
-
slidefront={slidefront}
|
|
1368
|
-
iconSize={"big-image"}
|
|
1369
|
-
slidePosition={"top-slide"}
|
|
1370
|
-
></SliderToolTip>
|
|
1371
|
-
<Button
|
|
1372
|
-
onClick={() => {
|
|
1373
|
-
setShowContentohRequestModal &&
|
|
1374
|
-
setShowContentohRequestModal(true);
|
|
1375
|
-
}}
|
|
1376
|
-
buttonType="general-default-button"
|
|
1377
|
-
label="Enviar a Content-oh!"
|
|
1378
|
-
/>
|
|
1379
|
-
</>
|
|
1380
|
-
)}
|
|
1381
|
-
</div>
|
|
1379
|
+
)
|
|
1382
1380
|
)}
|
|
1383
1381
|
</div>
|
|
1384
1382
|
</div>
|