contentoh-components-library 21.3.67 → 21.3.69
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/.env.development +4 -0
- package/.env.production +3 -0
- package/dist/components/atoms/ButtonV2/styles.js +1 -1
- package/dist/components/atoms/Card/index.js +47 -7
- package/dist/components/atoms/Card/styles.js +3 -1
- package/dist/components/atoms/CheckBox/index.js +4 -2
- package/dist/components/atoms/InputFormatter/styles.js +1 -1
- package/dist/components/molecules/CarouselImagesLogin/index.js +1 -1
- package/dist/components/molecules/HeaderTop/index.js +68 -11
- package/dist/components/molecules/StripeCardForm/StripeCardForm.stories.js +31 -0
- package/dist/components/molecules/StripeCardForm/index.js +81 -0
- package/dist/components/molecules/StripeCardForm/paymentForm.js +187 -0
- package/dist/components/molecules/StripeCardForm/styles.js +24 -0
- package/dist/components/molecules/StripeCardSelector/CardSelector.stories.js +30 -0
- package/dist/components/molecules/StripeCardSelector/index.js +103 -0
- package/dist/components/molecules/StripeCardSelector/styles.js +19 -0
- package/dist/components/molecules/StripeCardSelector/utils.js +56 -0
- package/dist/components/molecules/TabsMenu/index.js +128 -13
- package/dist/components/molecules/TagAndInput/index.js +1 -1
- package/dist/components/organisms/Chat/Chat.stories.js +21 -1
- package/dist/components/organisms/Chat/ContainerItems/index.js +19 -3
- package/dist/components/organisms/Chat/ContainerItems/styles.js +1 -1
- package/dist/components/organisms/Chat/ContentChat/index.js +343 -191
- package/dist/components/organisms/Chat/Footer/index.js +48 -39
- package/dist/components/organisms/Chat/index.js +48 -3
- package/dist/components/organisms/FullProductNameHeader/index.js +2 -2
- package/dist/components/organisms/FullTabsMenu/index.js +27 -2
- package/dist/components/organisms/ImageDataTable/index.js +2 -0
- package/dist/components/organisms/Modal/styles.js +1 -1
- package/dist/components/organisms/SideModal/index.js +11 -0
- package/dist/components/organisms/SideModal/styles.js +1 -1
- package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +172 -127
- package/dist/components/pages/ProviderProductEdition/index.js +223 -177
- package/dist/components/pages/ProviderProductEdition/styles.js +1 -1
- package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +40 -28
- package/dist/components/pages/RetailerProductEdition/index.js +298 -273
- package/dist/components/pages/RetailerProductEdition/styles.js +1 -1
- package/dist/components/pages/RetailerProductEdition/utils.js +61 -2
- package/dist/index.js +51 -12
- package/package.json +1 -1
- package/src/components/atoms/ButtonV2/styles.js +1 -1
- package/src/components/atoms/Card/index.js +35 -2
- package/src/components/atoms/Card/styles.js +41 -5
- package/src/components/atoms/CheckBox/index.js +2 -0
- package/src/components/atoms/InputFormatter/styles.js +2 -1
- package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
- package/src/components/molecules/GalleryElement/index.js +5 -0
- package/src/components/molecules/HeaderTop/index.js +52 -6
- package/src/components/molecules/StripeCardForm/StripeCardForm.stories.js +13 -0
- package/src/components/molecules/StripeCardForm/index.js +33 -0
- package/src/components/molecules/StripeCardForm/paymentForm.js +121 -0
- package/src/components/molecules/StripeCardForm/styles.js +72 -0
- package/src/components/molecules/StripeCardSelector/CardSelector.stories.js +12 -0
- package/src/components/molecules/StripeCardSelector/index.js +42 -0
- package/src/components/molecules/StripeCardSelector/styles.js +4 -0
- package/src/components/molecules/StripeCardSelector/utils.js +17 -0
- package/src/components/molecules/TabsMenu/index.js +126 -3
- package/src/components/molecules/TagAndInput/index.js +12 -8
- package/src/components/organisms/Chat/Chat.stories.js +21 -0
- package/src/components/organisms/Chat/ContainerItems/index.js +18 -2
- package/src/components/organisms/Chat/ContainerItems/styles.js +10 -2
- package/src/components/organisms/Chat/ContentChat/index.js +81 -6
- package/src/components/organisms/Chat/Footer/index.js +11 -0
- package/src/components/organisms/Chat/index.js +47 -3
- package/src/components/organisms/FullProductNameHeader/index.js +1 -1
- package/src/components/organisms/FullTabsMenu/index.js +28 -1
- package/src/components/organisms/ImageDataTable/index.js +3 -0
- package/src/components/organisms/InputGroup/index.js +4 -1
- package/src/components/organisms/Modal/styles.js +4 -1
- package/src/components/organisms/SideModal/SideModal.stories.js +23 -0
- package/src/components/organisms/SideModal/index.js +50 -0
- package/src/components/organisms/SideModal/styles.js +30 -0
- package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +177 -130
- package/src/components/pages/ProviderProductEdition/index.js +160 -129
- package/src/components/pages/ProviderProductEdition/styles.js +5 -1
- package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +38 -26
- package/src/components/pages/RetailerProductEdition/index.js +142 -135
- package/src/components/pages/RetailerProductEdition/styles.js +4 -0
- package/src/components/pages/RetailerProductEdition/utils.js +37 -0
- package/src/index.js +3 -0
- package/dist/assets/fonts/roboto/LICENSE.txt +0 -202
|
@@ -24,15 +24,20 @@ import descriptionSent from "../../../assets/images/modalsSVGs/descriptionSent.s
|
|
|
24
24
|
import imagesSent from "../../../assets/images/modalsSVGs/uploadingImages.svg";
|
|
25
25
|
import { TagAndInput } from "../../molecules/TagAndInput/index";
|
|
26
26
|
import { Button } from "../../atoms/GeneralButton";
|
|
27
|
-
import { Commentary } from "../../atoms/Commentary";
|
|
28
27
|
import { GenericModal } from "../../atoms/GenericModal";
|
|
29
28
|
import { ScreenHeader } from "../../atoms/ScreenHeader";
|
|
30
29
|
import { Loading } from "../../atoms/Loading";
|
|
31
30
|
import succes from "../../../assets/images/genericModal/genericModalCheck.svg";
|
|
32
|
-
import errorModal from "../../../assets/images/genericModal/errorModal.svg";
|
|
33
31
|
import { VersionSelector } from "../../organisms/VersionSelector";
|
|
34
32
|
import { useCloseModal } from "../../../global-files/customHooks";
|
|
35
|
-
import {
|
|
33
|
+
import {
|
|
34
|
+
getAuditVersion,
|
|
35
|
+
getInputsData,
|
|
36
|
+
createMessage,
|
|
37
|
+
sendMessage,
|
|
38
|
+
} from "./utils";
|
|
39
|
+
import { Modal } from "../../organisms/Modal";
|
|
40
|
+
import { ButtonV2 } from "../../atoms/ButtonV2";
|
|
36
41
|
|
|
37
42
|
const reducerImages = (state, action) => {
|
|
38
43
|
let { values, attrForImgs, inputsByRetailer } = state;
|
|
@@ -132,6 +137,7 @@ export const RetailerProductEdition = ({
|
|
|
132
137
|
const [datasheets, setDatasheets] = useState([]);
|
|
133
138
|
const [images, setImages] = useReducer(reducerImages, {});
|
|
134
139
|
const [showModal, setShowModal] = useState(false);
|
|
140
|
+
const [showRejectModal, setShowRejectModal] = useState(false);
|
|
135
141
|
const { getRootProps, getInputProps } = useDropzone({
|
|
136
142
|
accept: "image/*",
|
|
137
143
|
noKeyboard: true,
|
|
@@ -218,6 +224,18 @@ export const RetailerProductEdition = ({
|
|
|
218
224
|
const [auditDescriptions, setAuditDescriptions] = useState([]);
|
|
219
225
|
const [auditImages, setAuditImages] = useState([]);
|
|
220
226
|
const [compare, setCompare] = useState(false);
|
|
227
|
+
const [valRejAll, setValRejAll] = useState(false);
|
|
228
|
+
|
|
229
|
+
//! ==========================================Daniel===========================================
|
|
230
|
+
/* ====================================== Cambios =================================*/
|
|
231
|
+
const [desc, setDesc] = useState([])
|
|
232
|
+
const [fich, setFich] = useState([])
|
|
233
|
+
const [imag, setImag] = useState([])
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
/* ------------------------------------- Cambios ----------------------------------*/
|
|
237
|
+
//! ==========================================Daniel===========================================
|
|
238
|
+
|
|
221
239
|
|
|
222
240
|
useEffect(async () => {
|
|
223
241
|
const { id_article } = product?.article || {};
|
|
@@ -447,6 +465,7 @@ export const RetailerProductEdition = ({
|
|
|
447
465
|
value: e?.id,
|
|
448
466
|
name: e?.type_shot,
|
|
449
467
|
}));
|
|
468
|
+
|
|
450
469
|
return images?.values?.map((image, index) => (
|
|
451
470
|
<GalleryElement
|
|
452
471
|
setCheckAll={setCheckAll}
|
|
@@ -470,6 +489,8 @@ export const RetailerProductEdition = ({
|
|
|
470
489
|
));
|
|
471
490
|
};
|
|
472
491
|
|
|
492
|
+
|
|
493
|
+
|
|
473
494
|
const saveDescriptions = async () => {
|
|
474
495
|
const dataClean = updatedDescriptions.filter((f) => f.value !== "");
|
|
475
496
|
if (dataClean.length > 0) {
|
|
@@ -855,6 +876,25 @@ export const RetailerProductEdition = ({
|
|
|
855
876
|
const { newStatus, newOrderStatus, newArticleStatus } = JSON.parse(
|
|
856
877
|
res.data.body
|
|
857
878
|
);
|
|
879
|
+
const messageToChat = createMessage(
|
|
880
|
+
product.retailers,
|
|
881
|
+
activeRetailer.id,
|
|
882
|
+
evalStatus,
|
|
883
|
+
newStatus,
|
|
884
|
+
activeTab
|
|
885
|
+
);
|
|
886
|
+
|
|
887
|
+
const data = {
|
|
888
|
+
paramsBody: {
|
|
889
|
+
id: product.article.id_article,
|
|
890
|
+
version: version,
|
|
891
|
+
items: [{ type: "status", value: messageToChat }],
|
|
892
|
+
retailerId: activeRetailer.id,
|
|
893
|
+
status: product.status,
|
|
894
|
+
},
|
|
895
|
+
paramsHeader: { Authorization: token },
|
|
896
|
+
};
|
|
897
|
+
await sendMessage(data);
|
|
858
898
|
if (newOrderStatus) productTemp.status = newArticleStatus[articleId];
|
|
859
899
|
productTemp[`${concept}_status`] = newStatus;
|
|
860
900
|
await loadData();
|
|
@@ -897,35 +937,19 @@ export const RetailerProductEdition = ({
|
|
|
897
937
|
return product?.article[`id_auditor`] === user.id_user;
|
|
898
938
|
};
|
|
899
939
|
|
|
900
|
-
const createComment = async (
|
|
901
|
-
let concept = "";
|
|
902
|
-
switch (activeTab) {
|
|
903
|
-
case "Ficha técnica":
|
|
904
|
-
concept = "datasheet";
|
|
905
|
-
break;
|
|
906
|
-
case "Imágenes":
|
|
907
|
-
concept = "images";
|
|
908
|
-
break;
|
|
909
|
-
|
|
910
|
-
default:
|
|
911
|
-
concept = "description";
|
|
912
|
-
break;
|
|
913
|
-
}
|
|
940
|
+
const createComment = async (messages = [], retailerId) => {
|
|
914
941
|
const data = {
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
await axios.post(`${process.env.REACT_APP_COMMENTS_ENDPOINT}`, data, {
|
|
922
|
-
headers: {
|
|
923
|
-
Authorization: token,
|
|
942
|
+
paramsBody: {
|
|
943
|
+
id: product.article.id_article,
|
|
944
|
+
version: version,
|
|
945
|
+
items: messages,
|
|
946
|
+
retailerId: retailerId,
|
|
947
|
+
status: product.status,
|
|
924
948
|
},
|
|
925
|
-
|
|
926
|
-
|
|
949
|
+
paramsHeader: { Authorization: token },
|
|
950
|
+
};
|
|
927
951
|
setMessage("");
|
|
928
|
-
|
|
952
|
+
return sendMessage(data);
|
|
929
953
|
};
|
|
930
954
|
|
|
931
955
|
const getRequired = (services) => {
|
|
@@ -1207,6 +1231,8 @@ export const RetailerProductEdition = ({
|
|
|
1207
1231
|
break;
|
|
1208
1232
|
}
|
|
1209
1233
|
|
|
1234
|
+
const messages = [];
|
|
1235
|
+
|
|
1210
1236
|
servicesData?.forEach((ret) => {
|
|
1211
1237
|
if (conceptArray.includes(ret.service)) {
|
|
1212
1238
|
let data = {
|
|
@@ -1217,6 +1243,21 @@ export const RetailerProductEdition = ({
|
|
|
1217
1243
|
evalStatus: ret.status,
|
|
1218
1244
|
retailerId: ret.id_retailer,
|
|
1219
1245
|
};
|
|
1246
|
+
if (product[`${ret.service}_status`] !== "NS") {
|
|
1247
|
+
const message = createMessage(
|
|
1248
|
+
product.retailers,
|
|
1249
|
+
ret.id_retailer,
|
|
1250
|
+
product[`${ret.service}_status`],
|
|
1251
|
+
`${result}A`,
|
|
1252
|
+
ret.service
|
|
1253
|
+
);
|
|
1254
|
+
messages.push(
|
|
1255
|
+
createComment(
|
|
1256
|
+
[{ type: "status", value: message }],
|
|
1257
|
+
ret.id_retailer
|
|
1258
|
+
)
|
|
1259
|
+
);
|
|
1260
|
+
}
|
|
1220
1261
|
evaluationArray.push(
|
|
1221
1262
|
axios.put(`${process.env.REACT_APP_EVALUATION_ENDPOINT}`, data, {
|
|
1222
1263
|
headers: {
|
|
@@ -1226,19 +1267,19 @@ export const RetailerProductEdition = ({
|
|
|
1226
1267
|
);
|
|
1227
1268
|
}
|
|
1228
1269
|
});
|
|
1229
|
-
|
|
1230
1270
|
await Promise.all(evaluationArray);
|
|
1231
1271
|
|
|
1232
1272
|
const productTemp = product;
|
|
1233
1273
|
productTemp.status = `${result}A`;
|
|
1234
1274
|
productTemp.datasheet_status =
|
|
1235
|
-
productTemp.datasheet_status === "
|
|
1275
|
+
productTemp.datasheet_status === "NS" ? "NS" : `${result}A`;
|
|
1236
1276
|
productTemp.description_status =
|
|
1237
|
-
productTemp.description_status === "
|
|
1277
|
+
productTemp.description_status === "NS" ? "NS" : `${result}A`;
|
|
1238
1278
|
productTemp.images_status =
|
|
1239
|
-
productTemp.images_status === "
|
|
1279
|
+
productTemp.images_status === "NS" ? "NS" : `${result}A`;
|
|
1240
1280
|
sessionStorage.setItem("productSelected", JSON.stringify(productTemp));
|
|
1241
1281
|
setProduct(productTemp);
|
|
1282
|
+
const messagesResponse = await Promise.all(messages);
|
|
1242
1283
|
|
|
1243
1284
|
await loadData();
|
|
1244
1285
|
} catch (error) {
|
|
@@ -1254,8 +1295,10 @@ export const RetailerProductEdition = ({
|
|
|
1254
1295
|
setCompare={setCompare}
|
|
1255
1296
|
isAuditor={[1, 6].includes(user.id_role)}
|
|
1256
1297
|
withChat={location?.state?.withChat}
|
|
1257
|
-
|
|
1298
|
+
chatType={location?.state?.chatType}
|
|
1299
|
+
productSelected={product}
|
|
1258
1300
|
token={token}
|
|
1301
|
+
activeRetailer={activeRetailer}
|
|
1259
1302
|
/>
|
|
1260
1303
|
<div className="data-container">
|
|
1261
1304
|
<div className="image-data-panel">
|
|
@@ -1295,36 +1338,7 @@ export const RetailerProductEdition = ({
|
|
|
1295
1338
|
sendToFacilitator("A");
|
|
1296
1339
|
}}
|
|
1297
1340
|
reject={() => {
|
|
1298
|
-
|
|
1299
|
-
setMessage("Rechazado");
|
|
1300
|
-
setComponentsArray([
|
|
1301
|
-
<img src={errorModal} />,
|
|
1302
|
-
<ScreenHeader
|
|
1303
|
-
text={"Agrega tu comentarios para enviar el rechazo"}
|
|
1304
|
-
headerType={"input-name-header"}
|
|
1305
|
-
color={"white"}
|
|
1306
|
-
/>,
|
|
1307
|
-
<TagAndInput
|
|
1308
|
-
label={"Caja de Comentario"}
|
|
1309
|
-
inputType={"textarea"}
|
|
1310
|
-
inputId={"modal-commentary-box"}
|
|
1311
|
-
index={0}
|
|
1312
|
-
color={"white"}
|
|
1313
|
-
/>,
|
|
1314
|
-
<Button
|
|
1315
|
-
buttonType={"general-default-button"}
|
|
1316
|
-
label={"Enviar comentario"}
|
|
1317
|
-
onClick={(e) =>
|
|
1318
|
-
createComment(
|
|
1319
|
-
e,
|
|
1320
|
-
document.querySelector(
|
|
1321
|
-
"#modal-commentary-box .ql-container .ql-editor > p"
|
|
1322
|
-
).innerHTML,
|
|
1323
|
-
activeTab
|
|
1324
|
-
)
|
|
1325
|
-
}
|
|
1326
|
-
/>,
|
|
1327
|
-
]);
|
|
1341
|
+
setShowRejectModal(true);
|
|
1328
1342
|
}}
|
|
1329
1343
|
showApproveRejectAll={
|
|
1330
1344
|
approveRejectAllButtons() && (auditorAssigned() || userAssigned())
|
|
@@ -1334,36 +1348,8 @@ export const RetailerProductEdition = ({
|
|
|
1334
1348
|
}
|
|
1335
1349
|
approveAll={() => validateAll("A")}
|
|
1336
1350
|
rejectAll={() => {
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
setComponentsArray([
|
|
1340
|
-
<img src={errorModal} />,
|
|
1341
|
-
<ScreenHeader
|
|
1342
|
-
text={"Agrega tu comentarios para enviar el rechazo"}
|
|
1343
|
-
headerType={"input-name-header"}
|
|
1344
|
-
color={"white"}
|
|
1345
|
-
/>,
|
|
1346
|
-
<TagAndInput
|
|
1347
|
-
label={"Caja de Comentario"}
|
|
1348
|
-
inputType={"textarea"}
|
|
1349
|
-
inputId={"modal-commentary-box"}
|
|
1350
|
-
index={0}
|
|
1351
|
-
color={"white"}
|
|
1352
|
-
/>,
|
|
1353
|
-
<Button
|
|
1354
|
-
buttonType={"general-default-button"}
|
|
1355
|
-
label={"Enviar comentario"}
|
|
1356
|
-
onClick={(e) =>
|
|
1357
|
-
createComment(
|
|
1358
|
-
e,
|
|
1359
|
-
document.querySelector(
|
|
1360
|
-
"#modal-commentary-box .ql-container .ql-editor > p"
|
|
1361
|
-
).innerHTML,
|
|
1362
|
-
activeTab
|
|
1363
|
-
)
|
|
1364
|
-
}
|
|
1365
|
-
/>,
|
|
1366
|
-
]);
|
|
1351
|
+
setShowRejectModal(true);
|
|
1352
|
+
setValRejAll(true);
|
|
1367
1353
|
}}
|
|
1368
1354
|
/>
|
|
1369
1355
|
<FullTabsMenu
|
|
@@ -1379,6 +1365,20 @@ export const RetailerProductEdition = ({
|
|
|
1379
1365
|
isRetailer={isRetailer}
|
|
1380
1366
|
showSaveButton={auditorAssigned() || userAssigned()}
|
|
1381
1367
|
version={version}
|
|
1368
|
+
|
|
1369
|
+
desc={ desc }
|
|
1370
|
+
setDesc={ setDesc }
|
|
1371
|
+
fich={fich}
|
|
1372
|
+
setFich={setFich}
|
|
1373
|
+
imag={imag}
|
|
1374
|
+
setImag={setImag}
|
|
1375
|
+
updatedDescriptions={updatedDescriptions}
|
|
1376
|
+
updatedDatasheets={updatedDatasheets}
|
|
1377
|
+
selectedImages={selectedImages}
|
|
1378
|
+
setUpdatedDescriptions={setUpdatedDescriptions}
|
|
1379
|
+
setUpdatedDatasheets={setUpdatedDatasheets}
|
|
1380
|
+
setSelectedImages={setSelectedImages}
|
|
1381
|
+
|
|
1382
1382
|
setShowVersionSelector={setShowVersionSelector}
|
|
1383
1383
|
onClickSave={() => {
|
|
1384
1384
|
switch (activeTab) {
|
|
@@ -1422,6 +1422,8 @@ export const RetailerProductEdition = ({
|
|
|
1422
1422
|
shotThd={shotThd}
|
|
1423
1423
|
/>
|
|
1424
1424
|
)}
|
|
1425
|
+
|
|
1426
|
+
{/* Active tab */}
|
|
1425
1427
|
{activeTab === "Ficha técnica" &&
|
|
1426
1428
|
(product?.datasheet_status !== "NS" ? (
|
|
1427
1429
|
datasheets[0]?.data?.map((dataGroup, index) => (
|
|
@@ -1444,6 +1446,8 @@ export const RetailerProductEdition = ({
|
|
|
1444
1446
|
headerType={"input-name-header"}
|
|
1445
1447
|
/>
|
|
1446
1448
|
))}
|
|
1449
|
+
|
|
1450
|
+
|
|
1447
1451
|
{activeTab === "Descripción" &&
|
|
1448
1452
|
(product?.description_status !== "NS" ? (
|
|
1449
1453
|
<InputGroup
|
|
@@ -1457,6 +1461,7 @@ export const RetailerProductEdition = ({
|
|
|
1457
1461
|
dinamicHeight={true}
|
|
1458
1462
|
compare={compare}
|
|
1459
1463
|
/>
|
|
1464
|
+
|
|
1460
1465
|
) : (
|
|
1461
1466
|
<ScreenHeader
|
|
1462
1467
|
text={"No cuentas con este servicio"}
|
|
@@ -1484,47 +1489,6 @@ export const RetailerProductEdition = ({
|
|
|
1484
1489
|
{(userAssigned(activeTab) || auditorAssigned()) &&
|
|
1485
1490
|
product[`${getConcept(activeTab)}_status`] !== "NS" && (
|
|
1486
1491
|
<div className="commentary-box">
|
|
1487
|
-
{!comment ? (
|
|
1488
|
-
<div className="commentary">
|
|
1489
|
-
<TagAndInput
|
|
1490
|
-
label={"Caja de Comentario"}
|
|
1491
|
-
inputType={"textarea"}
|
|
1492
|
-
inputCols={80}
|
|
1493
|
-
inputRows={4}
|
|
1494
|
-
inputId={"commentary-box"}
|
|
1495
|
-
index={0}
|
|
1496
|
-
/>
|
|
1497
|
-
<div className="buttons-box">
|
|
1498
|
-
<Button
|
|
1499
|
-
buttonType={"general-transparent-button"}
|
|
1500
|
-
label={"Enviar comentario"}
|
|
1501
|
-
onClick={(e) =>
|
|
1502
|
-
createComment(
|
|
1503
|
-
e,
|
|
1504
|
-
document.querySelector(
|
|
1505
|
-
"#commentary-box .ql-container .ql-editor > p"
|
|
1506
|
-
).innerHTML,
|
|
1507
|
-
activeTab
|
|
1508
|
-
)
|
|
1509
|
-
}
|
|
1510
|
-
/>
|
|
1511
|
-
</div>
|
|
1512
|
-
</div>
|
|
1513
|
-
) : (
|
|
1514
|
-
<div className="feedback-box">
|
|
1515
|
-
<Commentary
|
|
1516
|
-
comment={comment?.message?.replace(/<.*?\/?>/gm, "")}
|
|
1517
|
-
reviewed={crossComment}
|
|
1518
|
-
/>
|
|
1519
|
-
<Button
|
|
1520
|
-
buttonType={"circular-button accept-button"}
|
|
1521
|
-
onClick={async () => {
|
|
1522
|
-
setCrossComment(true);
|
|
1523
|
-
commentRevised();
|
|
1524
|
-
}}
|
|
1525
|
-
/>
|
|
1526
|
-
</div>
|
|
1527
|
-
)}
|
|
1528
1492
|
{[7, 8].includes(user.id_role) && (
|
|
1529
1493
|
<Button
|
|
1530
1494
|
buttonType={
|
|
@@ -1582,6 +1546,49 @@ export const RetailerProductEdition = ({
|
|
|
1582
1546
|
jwt={token}
|
|
1583
1547
|
/>
|
|
1584
1548
|
)}
|
|
1549
|
+
{showRejectModal && (
|
|
1550
|
+
<Modal
|
|
1551
|
+
title={`Agregar mensaje de rechazo para ${activeTab?.toLowerCase()}`}
|
|
1552
|
+
show={showRejectModal}
|
|
1553
|
+
customComponent={
|
|
1554
|
+
<TagAndInput
|
|
1555
|
+
inputType={"textarea"}
|
|
1556
|
+
inputId={"modal-message-box"}
|
|
1557
|
+
index={0}
|
|
1558
|
+
color={"white"}
|
|
1559
|
+
/>
|
|
1560
|
+
}
|
|
1561
|
+
buttons={[
|
|
1562
|
+
<ButtonV2
|
|
1563
|
+
key={"btn-Cancelar"}
|
|
1564
|
+
type={"white"}
|
|
1565
|
+
label={"Cancelar"}
|
|
1566
|
+
size={12}
|
|
1567
|
+
onClick={() => {
|
|
1568
|
+
setShowRejectModal(false);
|
|
1569
|
+
}}
|
|
1570
|
+
/>,
|
|
1571
|
+
<ButtonV2
|
|
1572
|
+
key={"btn-Aceptar"}
|
|
1573
|
+
type={"pink"}
|
|
1574
|
+
label={"Aceptar"}
|
|
1575
|
+
size={12}
|
|
1576
|
+
onClick={async () => {
|
|
1577
|
+
const body = document.querySelector(
|
|
1578
|
+
"#modal-message-box .ql-container .ql-editor > p"
|
|
1579
|
+
).innerHTML;
|
|
1580
|
+
const messages = [
|
|
1581
|
+
{ type: "message", value: body?.replace(/<.*?\/?>/gm, "") },
|
|
1582
|
+
];
|
|
1583
|
+
await createComment(messages, activeRetailer.id);
|
|
1584
|
+
valRejAll ? validateAll("R") : sendToFacilitator("R");
|
|
1585
|
+
setMessage("Rechazado");
|
|
1586
|
+
setShowRejectModal(false);
|
|
1587
|
+
}}
|
|
1588
|
+
/>,
|
|
1589
|
+
]}
|
|
1590
|
+
/>
|
|
1591
|
+
)}
|
|
1585
1592
|
</Container>
|
|
1586
1593
|
);
|
|
1587
1594
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
|
+
import { fetchPOST } from "../../../global-files/handle_http";
|
|
2
3
|
|
|
3
4
|
export const getAuditVersion = async (articleId, setState, token) => {
|
|
4
5
|
const auditResponse = await axios.get(
|
|
@@ -32,3 +33,39 @@ export const getInputsData = (
|
|
|
32
33
|
setDescriptionState(descriptions);
|
|
33
34
|
}
|
|
34
35
|
};
|
|
36
|
+
|
|
37
|
+
export const translateService = (tab) => {
|
|
38
|
+
switch (tab) {
|
|
39
|
+
case "description":
|
|
40
|
+
case "Descripción":
|
|
41
|
+
return "Descripciones";
|
|
42
|
+
case "datasheet":
|
|
43
|
+
case "Ficha técnica":
|
|
44
|
+
return "Fichas técnicas";
|
|
45
|
+
case "images":
|
|
46
|
+
case "Imágenes":
|
|
47
|
+
return "Imágenes";
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export const createMessage = (
|
|
52
|
+
retailers,
|
|
53
|
+
idRetailer,
|
|
54
|
+
oldStatus,
|
|
55
|
+
newStatus,
|
|
56
|
+
service
|
|
57
|
+
) => {
|
|
58
|
+
const [retailer] = retailers?.filter((ret) => ret.id === idRetailer) || [];
|
|
59
|
+
return `${translateService(service)} de ${
|
|
60
|
+
retailer.name
|
|
61
|
+
} |${oldStatus}| a |${newStatus}`;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export const sendMessage = async (data) => {
|
|
65
|
+
const { paramsBody, paramsHeader } = data;
|
|
66
|
+
return fetchPOST(
|
|
67
|
+
process.env.REACT_APP_CREATE_MESSAGES,
|
|
68
|
+
paramsBody,
|
|
69
|
+
paramsHeader
|
|
70
|
+
);
|
|
71
|
+
};
|
package/src/index.js
CHANGED
|
@@ -63,6 +63,8 @@ export * from "./components/molecules/ButtonDownloadFile/index";
|
|
|
63
63
|
export * from "./components/molecules/ImageTooltip/index";
|
|
64
64
|
export * from "./components/molecules/SelectV2/index";
|
|
65
65
|
export * from "./components/molecules/Dropdown/index";
|
|
66
|
+
export * from "./components/molecules/StripeCardForm/index";
|
|
67
|
+
export * from "./components/molecules/StripeCardSelector/index";
|
|
66
68
|
|
|
67
69
|
//organisms
|
|
68
70
|
export * from "./components/organisms/ChangePassword/index";
|
|
@@ -79,6 +81,7 @@ export * from "./components/organisms/Modal/index";
|
|
|
79
81
|
export * from "./components/organisms/OrderDetail/index";
|
|
80
82
|
export * from "./components/organisms/RangeCalendar";
|
|
81
83
|
export * from "./components/organisms/TableResizable";
|
|
84
|
+
export * from "./components/organisms/SideModal/index";
|
|
82
85
|
|
|
83
86
|
//pages
|
|
84
87
|
export * from "./components/pages/ChangePasswordLogin";
|