contentoh-components-library 21.4.42 → 21.4.45
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/molecules/BoxAttribute/index.js +13 -4
- package/dist/components/molecules/BoxButtons/index.js +4 -1
- package/dist/components/organisms/Box/index.js +27 -3
- package/dist/components/organisms/BoxOnboarding/index.js +12 -7
- package/dist/components/organisms/InputGroup/index.js +8 -2
- package/dist/components/pages/ProviderProductEdition/index.js +145 -127
- package/package.json +1 -1
- package/src/components/molecules/BoxAttribute/index.js +48 -37
- package/src/components/molecules/BoxButtons/index.js +3 -2
- package/src/components/organisms/Box/index.js +73 -19
- package/src/components/organisms/BoxOnboarding/index.js +55 -64
- package/src/components/organisms/BoxOnboarding/out.json +1 -0
- package/src/components/organisms/InputGroup/index.js +122 -111
- package/src/components/pages/ProviderProductEdition/index.js +29 -16
|
@@ -1,30 +1,37 @@
|
|
|
1
1
|
import { Container } from "./styles";
|
|
2
2
|
import IconInfo from "../../../assets/images/Icons/info.svg";
|
|
3
3
|
import { Tooltip } from "../../atoms/Tooltip";
|
|
4
|
-
import TextField from
|
|
4
|
+
import TextField from "@mui/material/TextField";
|
|
5
5
|
|
|
6
6
|
export const BoxAttribute = (props) => {
|
|
7
|
+
// console.log({ props });
|
|
7
8
|
const {
|
|
8
9
|
id,
|
|
9
10
|
key,
|
|
10
11
|
className,
|
|
11
12
|
text,
|
|
12
|
-
borderType,
|
|
13
|
+
borderType,
|
|
13
14
|
isEditEnabled,
|
|
14
15
|
titletool,
|
|
15
16
|
texttool,
|
|
16
17
|
atributos,
|
|
17
|
-
setAtributos
|
|
18
|
+
setAtributos,
|
|
18
19
|
} = props;
|
|
19
20
|
const handleInputChange = (event) => {
|
|
20
|
-
const { name, value } = event.target;
|
|
21
|
+
const { name, value } = event.target;
|
|
21
22
|
setAtributos((prevAtributos) => ({
|
|
22
23
|
...prevAtributos,
|
|
23
|
-
[name]: value,
|
|
24
|
+
[name]: value,
|
|
24
25
|
}));
|
|
25
26
|
};
|
|
26
|
-
console.log(atributos)
|
|
27
27
|
|
|
28
|
+
const formattedData = Object.keys(atributos).reduce((result, id) => {
|
|
29
|
+
result[`box${id}`] = atributos[id];
|
|
30
|
+
return result;
|
|
31
|
+
}, {});
|
|
32
|
+
//escucha los cambios
|
|
33
|
+
console.log(formattedData);
|
|
34
|
+
console.log("atributos id", atributos[props.id]);
|
|
28
35
|
return (
|
|
29
36
|
<>
|
|
30
37
|
<Container
|
|
@@ -33,45 +40,49 @@ export const BoxAttribute = (props) => {
|
|
|
33
40
|
className={className}
|
|
34
41
|
borderType={borderType}
|
|
35
42
|
>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
43
|
+
<Tooltip
|
|
44
|
+
componentTooltip={
|
|
45
|
+
<>
|
|
46
|
+
<p>
|
|
47
|
+
<b>{titletool}</b>
|
|
48
|
+
</p>
|
|
49
|
+
<p>{texttool}</p>
|
|
50
|
+
</>
|
|
51
|
+
}
|
|
52
|
+
children={
|
|
53
|
+
<Container className="">
|
|
54
|
+
<img className="icon" src={IconInfo} alt="iconInfo" />
|
|
55
|
+
</Container>
|
|
56
|
+
}
|
|
57
|
+
classNameTooltip={"container-tooltip"}
|
|
58
|
+
/>
|
|
59
|
+
<span>{text}</span>
|
|
60
|
+
{isEditEnabled ? (
|
|
61
|
+
<TextField
|
|
55
62
|
hiddenLabel
|
|
56
|
-
|
|
63
|
+
key={props.id}
|
|
64
|
+
name={props.id}
|
|
57
65
|
value={atributos[props.id]}
|
|
58
66
|
onChange={handleInputChange}
|
|
59
67
|
className="caja-borde"
|
|
60
68
|
variant="outlined"
|
|
61
69
|
size="small"
|
|
70
|
+
type="number"
|
|
62
71
|
/>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
) : (
|
|
73
|
+
<TextField
|
|
74
|
+
hiddenLabel
|
|
75
|
+
key={props.id}
|
|
76
|
+
name={props.id}
|
|
77
|
+
value={atributos[props.id]}
|
|
78
|
+
onChange={handleInputChange}
|
|
79
|
+
className="caja-borde"
|
|
80
|
+
variant="outlined"
|
|
81
|
+
size="small"
|
|
82
|
+
type="number"
|
|
83
|
+
disabled
|
|
73
84
|
/>
|
|
74
|
-
|
|
85
|
+
)}
|
|
75
86
|
</Container>
|
|
76
87
|
</>
|
|
77
88
|
);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Container, ContainerIcon } from "./styles";
|
|
2
2
|
import { Button } from "@mui/material";
|
|
3
3
|
|
|
4
|
-
export const BoxButtons = ({ showAdd, onAdd, onDelete, isTheFirstBox, onToggleEdit, isEditEnabled }) => {
|
|
4
|
+
export const BoxButtons = ({ showAdd, onAdd, onDelete, isTheFirstBox, onToggleEdit, isEditEnabled, index }) => {
|
|
5
|
+
console.log("index",index)
|
|
5
6
|
return (
|
|
6
|
-
<Container>
|
|
7
|
+
<Container index={index}>
|
|
7
8
|
<Button variant="outlined" className="button-circle" onClick={onToggleEdit}>
|
|
8
9
|
<ContainerIcon>
|
|
9
10
|
<span className={`iconos-out ${isEditEnabled ? "iconos-grises" : ""}`}>edit</span>
|
|
@@ -1,21 +1,47 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
1
|
+
import React, { useState, useEffect } from "react";
|
|
2
2
|
import { Container } from "./styles";
|
|
3
3
|
import { FontFamily, GlobalColors } from "../../../global-files/variables";
|
|
4
4
|
import { BoxOnboarding } from "../BoxOnboarding";
|
|
5
5
|
import { BoxButtons } from "../../molecules/BoxButtons";
|
|
6
|
+
import { useEffect } from "react";
|
|
6
7
|
|
|
7
|
-
export const Box = () => {
|
|
8
|
+
export const Box = ({ onChange, dataInputs, inputGroup }) => {
|
|
8
9
|
const [isDeleteDisabled, setIsDeleteDisabled] = useState(true);
|
|
9
10
|
const [isEditEnabled, setIsEditEnabled] = useState(false);
|
|
10
11
|
const [boxOnboardingList, setBoxOnboardingList] = useState([
|
|
11
12
|
{
|
|
12
13
|
showAdd: true,
|
|
14
|
+
value: {},
|
|
13
15
|
},
|
|
14
16
|
]);
|
|
15
|
-
|
|
17
|
+
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
console.log("dataInputs:", dataInputs);
|
|
20
|
+
console.log("inputGroup:", inputGroup);
|
|
21
|
+
const temp = {};
|
|
22
|
+
let maxBoxId = 0;
|
|
23
|
+
inputGroup.inputs.forEach((attrId) => {
|
|
24
|
+
if (!dataInputs[attrId].box) return;
|
|
25
|
+
Object.entries(dataInputs[attrId].box).forEach(([boxId, value]) => {
|
|
26
|
+
if (boxId > maxBoxId) maxBoxId = boxId;
|
|
27
|
+
if (!temp[boxId]) temp[boxId] = {};
|
|
28
|
+
temp[boxId][attrId] = value;
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
const tempList = Object.values(temp);
|
|
32
|
+
if (tempList.length > 0) {
|
|
33
|
+
setBoxOnboardingList(
|
|
34
|
+
tempList.map((value, index) =>
|
|
35
|
+
index === tempList.length - 1 ? { showAdd: true, value } : { value }
|
|
36
|
+
)
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
}, []);
|
|
40
|
+
|
|
16
41
|
const handleAddBoxOnboarding = () => {
|
|
17
42
|
const newBoxOnboarding = {
|
|
18
|
-
showAdd: false,
|
|
43
|
+
showAdd: false,
|
|
44
|
+
value: {},
|
|
19
45
|
};
|
|
20
46
|
|
|
21
47
|
setBoxOnboardingList([...boxOnboardingList, newBoxOnboarding]);
|
|
@@ -33,28 +59,56 @@ export const Box = () => {
|
|
|
33
59
|
const handleToggleEdit = () => {
|
|
34
60
|
setIsEditEnabled(!isEditEnabled);
|
|
35
61
|
};
|
|
62
|
+
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
onChange && onChange(boxOnboardingList);
|
|
65
|
+
}, [boxOnboardingList]);
|
|
36
66
|
|
|
37
67
|
return (
|
|
38
|
-
<Container
|
|
39
|
-
|
|
68
|
+
<Container
|
|
69
|
+
fontFamily={FontFamily.Raleway}
|
|
70
|
+
color={GlobalColors.original_magenta}
|
|
71
|
+
>
|
|
72
|
+
<h1 fontFamily={FontFamily.Raleway}>{inputGroup.dataGroup}</h1>
|
|
40
73
|
<div className="container-box">
|
|
41
74
|
{boxOnboardingList.map((boxOnboarding, index) => (
|
|
42
75
|
<>
|
|
43
|
-
|
|
44
|
-
<
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
76
|
+
|
|
77
|
+
<div className="container-buttons">
|
|
78
|
+
<BoxOnboarding
|
|
79
|
+
key={index}
|
|
80
|
+
index={index}
|
|
81
|
+
showAdd={boxOnboarding.showAdd}
|
|
82
|
+
data={boxOnboarding.value}
|
|
83
|
+
dataInputs={dataInputs}
|
|
84
|
+
inputs={inputGroup.inputs}
|
|
85
|
+
isEditEnabled={isEditEnabled}
|
|
86
|
+
onChange={(e) => {
|
|
87
|
+
setBoxOnboardingList((prev) => {
|
|
88
|
+
return prev.map((box, i) => {
|
|
89
|
+
if (i != index) {
|
|
90
|
+
console.log("e in Box",e);
|
|
91
|
+
console.log("box in box",box);
|
|
92
|
+
return box;
|
|
93
|
+
}
|
|
94
|
+
return { ...box, value: e };
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}}
|
|
98
|
+
/>
|
|
99
|
+
<BoxButtons
|
|
100
|
+
key={index}
|
|
101
|
+
index={index}
|
|
102
|
+
showAdd={boxOnboarding.showAdd}
|
|
103
|
+
onAdd={handleAddBoxOnboarding}
|
|
104
|
+
onDelete={() => handleDeleteBoxOnboarding(index)}
|
|
105
|
+
isDeleteDisabled={isDeleteDisabled}
|
|
106
|
+
onToggleEdit={handleToggleEdit}
|
|
107
|
+
isEditEnabled={isEditEnabled}
|
|
108
|
+
/>
|
|
109
|
+
</div>
|
|
55
110
|
</>
|
|
56
111
|
))}
|
|
57
|
-
|
|
58
112
|
</div>
|
|
59
113
|
</Container>
|
|
60
114
|
);
|
|
@@ -1,68 +1,59 @@
|
|
|
1
1
|
import { Container, ContainerIcon } from "./styles";
|
|
2
2
|
import { FontFamily, GlobalColors } from "../../../global-files/variables";
|
|
3
3
|
import { BoxAttribute } from "../../molecules/BoxAttribute";
|
|
4
|
-
import { useState } from "react";
|
|
4
|
+
import { useState, useEffect, memo } from "react";
|
|
5
|
+
import { isEqual } from "lodash";
|
|
5
6
|
|
|
6
|
-
export const BoxOnboarding = (
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
{
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
className="caja"
|
|
60
|
-
text="Peso"
|
|
61
|
-
isEditEnabled={isEditEnabled}
|
|
62
|
-
atributos={atributos}
|
|
63
|
-
setAtributos={setAtributos}
|
|
64
|
-
></BoxAttribute>}
|
|
65
|
-
</div>
|
|
66
|
-
</Container>
|
|
67
|
-
);
|
|
68
|
-
};
|
|
7
|
+
export const BoxOnboarding = memo(
|
|
8
|
+
({
|
|
9
|
+
panelColor,
|
|
10
|
+
isEditEnabled,
|
|
11
|
+
index,
|
|
12
|
+
onChange,
|
|
13
|
+
data,
|
|
14
|
+
dataInputs,
|
|
15
|
+
inputs,
|
|
16
|
+
}) => {
|
|
17
|
+
const [atributos, setAtributos] = useState({});
|
|
18
|
+
// console.log("input",inputs);
|
|
19
|
+
//console.log("atributossss BO",atributos)
|
|
20
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
21
|
+
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
onChange && onChange(atributos);
|
|
24
|
+
}, [atributos]);
|
|
25
|
+
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (isLoading && Object.keys(data).length > 0) {
|
|
28
|
+
setAtributos(data);
|
|
29
|
+
setIsLoading(false);
|
|
30
|
+
}
|
|
31
|
+
}, [data]);
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<Container
|
|
35
|
+
panelColor={panelColor}
|
|
36
|
+
fontFamily={FontFamily.Raleway}
|
|
37
|
+
color={GlobalColors.original_magenta}
|
|
38
|
+
>
|
|
39
|
+
<div id="contenedor-caja">
|
|
40
|
+
<p fontFamily={FontFamily.Raleway}>Caja {index + 1}</p>
|
|
41
|
+
{inputs.map((attrId) => (
|
|
42
|
+
<BoxAttribute
|
|
43
|
+
id={attrId}
|
|
44
|
+
key={attrId}
|
|
45
|
+
borderType="rectangle"
|
|
46
|
+
className="caja"
|
|
47
|
+
text={dataInputs[attrId]?.name}
|
|
48
|
+
isEditEnabled={isEditEnabled}
|
|
49
|
+
atributos={atributos}
|
|
50
|
+
setAtributos={setAtributos}
|
|
51
|
+
/>
|
|
52
|
+
))}
|
|
53
|
+
|
|
54
|
+
</div>
|
|
55
|
+
</Container>
|
|
56
|
+
);
|
|
57
|
+
},
|
|
58
|
+
isEqual
|
|
59
|
+
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"message":"ok","data":{"58":{"retailer":{"id":58,"name":"The Home Depot Golden","country":"México","id_region":1,"active":1,"flow":1},"data":{"1":{"dataGroup":"Características Físicas del Producto","inputs":[40974,40024,40029,40149]},"4":{"dataGroup":"Dimensiones","inputs":[40035,40021,40025,40026,40028,40032,40033]},"5":{"dataGroup":"Especificaciones Técnicas","inputs":[40019,40020,40022,40031]},"6":{"dataGroup":"Información Básica del Producto","inputs":[40261,40027,40001,40014,40006,40030,40134,43533,40859,683]},"12":{"dataGroup":"Beneficios","inputs":[40256,40257,40258,40259,40260]}}},"68":{"retailer":{"id":68,"name":"The Home Depot Onboarding","country":"México","id_region":1,"active":1,"flow":1},"data":{"1":{"dataGroup":"Características Físicas del Producto","inputs":[40974,40024,40029,40149]},"4":{"dataGroup":"Dimensiones","inputs":[40035,40021,40025,40026,40028,40032,40033]},"5":{"dataGroup":"Especificaciones Técnicas","inputs":[40019,40020,40022,43702,43724,43725,43729,43730,43727,43701,43721,43722,40031,43714,43731]},"6":{"dataGroup":"Información Básica del Producto","inputs":[43728,40261,43467,43703,43715,43468,43720,40027,40001,40014,40006,43705,40030,40134,43706,43704,43718,43533,43719,43723,40859,683,43726]},"12":{"dataGroup":"Beneficios","inputs":[40256,40257,40258,40259,40260]},"16":{"dataGroup":"Caja","inputs":[43709,43708,43707,43710]},"17":{"dataGroup":"Producto Base","inputs":[43735,43734,43733,43736,43738,43737,43732]},"18":{"dataGroup":"Paquete Interno","inputs":[43742,43741,43740,43743,43745,43744,43739]},"19":{"dataGroup":"Pallet","inputs":[43749,43748,43747,43750,43752,43751,43746]}}},"inputs":{"683":{"id":683,"name":"UPC","min_chars":null,"max_chars":14,"type":"Numérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Código de Barras del Producto, GTIN, UPC","option_list":null,"value":"43654697"},"40001":{"id":40001,"name":"Item","min_chars":null,"max_chars":60,"type":"Numérico","id_group":6,"commercial_model":1,"active":1,"required":false,"description":"Ingresar # de SKU","option_list":null,"value":"0"},"40006":{"id":40006,"name":"Marca","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":false,"description":"Ingresar marca del producto","option_list":null},"40014":{"id":40014,"name":"Legal","min_chars":null,"max_chars":700,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":false,"description":"Tiempo de garantía y qué incluye, accesorios incluidos o no y cuáles, accesorios que se venden por separado, instrucciones de uso o mantenimiento, recomendaciones de uso, etc.","option_list":null},"40019":{"id":40019,"name":"Acabados","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":5,"commercial_model":1,"active":1,"required":false,"description":"Indicar el tipo de acabado que presenta el producto","option_list":null},"40020":{"id":40020,"name":"Accesorios","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":5,"commercial_model":1,"active":1,"required":false,"description":"Si/No","option_list":null},"40021":{"id":40021,"name":"Ancho","min_chars":null,"max_chars":20,"type":"Numérico","id_group":4,"commercial_model":1,"active":1,"required":true,"description":"Especificar la medida de lado a lado en centímetros viendo de frente sin mencionar la unidad de medida. Ej. 40","option_list":null,"value":"345"},"40022":{"id":40022,"name":"Capacidad/ Tamaño","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":5,"commercial_model":1,"active":1,"required":false,"description":"Especificar el tamaño en galones. Ej. 20gl","option_list":null},"40024":{"id":40024,"name":"Familia de Color","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":1,"commercial_model":1,"active":1,"required":true,"description":"Indicar el color del producto","option_list":null,"value":"Negro"},"40025":{"id":40025,"name":"Diámetro","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":4,"commercial_model":1,"active":1,"required":false,"description":"Indicar el diámetro del producto en cm, sin incluir la unidad de medida","option_list":null},"40026":{"id":40026,"name":"Espesor","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":4,"commercial_model":1,"active":1,"required":false,"description":"Mencionar el espesor de la pieza en milímetros sin mencionar la unidad de medida.","option_list":null},"40027":{"id":40027,"name":"Garantía Proveedor","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Mencionar el periodo de garantía del proveedor","option_list":null,"value":"90 Días"},"40028":{"id":40028,"name":"Largo","min_chars":null,"max_chars":20,"type":"Alfanumérico","id_group":4,"commercial_model":1,"active":1,"required":true,"description":"Indicar la medida desde la base hasta lo más alto en centímetros sin mencionar la unidad de medida. Ej. 40","option_list":null,"value":"78"},"40029":{"id":40029,"name":"Material","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":1,"commercial_model":1,"active":1,"required":true,"description":"Especificar el material del producto. Ej. Pasta, Polvo, etc.","option_list":null,"value":"Metal"},"40030":{"id":40030,"name":"Modelo","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Modelo asignado cómo parte de una familia, línea de producto o identificador, Modelo del producto","option_list":null,"value":"473856956"},"40031":{"id":40031,"name":"Montaje","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":5,"commercial_model":1,"active":1,"required":false,"description":"Mencionar si el producto necesita montaje o no","option_list":null},"40032":{"id":40032,"name":"Peso","min_chars":null,"max_chars":20,"type":"Alfanumérico","id_group":4,"commercial_model":1,"active":1,"required":true,"description":"Indicar el peso del producto sin empaque y sin mencionar la unidad de medida.","option_list":null,"value":"12"},"40033":{"id":40033,"name":"Profundidad","min_chars":null,"max_chars":20,"type":"Numérico","id_group":4,"commercial_model":1,"active":1,"required":false,"description":"Indicar la profundidad en cm (desde enfrente hasta la parte de atrás) sin mencionar la unidad de medida. Ej. 36","option_list":null},"40035":{"id":40035,"name":"Alto","min_chars":null,"max_chars":20,"type":"Alfanumérico","id_group":4,"commercial_model":1,"active":1,"required":true,"description":"Medidas del artículo fuera del empaque y armado para su uso en centímetros","option_list":null,"value":"24"},"40134":{"id":40134,"name":"Número de Piezas","min_chars":null,"max_chars":20,"type":"Numérico","id_group":6,"commercial_model":1,"active":1,"required":false,"description":"Indicar el número de piezas del producto sin accesorios","option_list":null},"40149":{"id":40149,"name":"Presentación","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":1,"commercial_model":1,"active":1,"required":false,"description":"Especificar la presentación que tiene el producto. Caja, Bolsa, Blíster","option_list":null},"40256":{"id":40256,"name":"Beneficios del Producto 1","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":12,"commercial_model":1,"active":1,"required":true,"description":"Indicar Beneficios del Producto.","option_list":null,"value":"-"},"40257":{"id":40257,"name":"Beneficios del Producto 2","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":12,"commercial_model":1,"active":1,"required":true,"description":"Indicar Beneficios del Producto.","option_list":null,"value":"-"},"40258":{"id":40258,"name":"Beneficios del Producto 3","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":12,"commercial_model":1,"active":1,"required":true,"description":"Indicar Beneficios del Producto.","option_list":null,"value":"-"},"40259":{"id":40259,"name":"Beneficios del Producto 4","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":12,"commercial_model":1,"active":1,"required":false,"description":"Indicar Beneficios del Producto.","option_list":null},"40260":{"id":40260,"name":"Beneficios del Producto 5","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":12,"commercial_model":1,"active":1,"required":false,"description":"Indicar Beneficios del Producto.","option_list":null},"40261":{"id":40261,"name":"Contenido del Empaque","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Especificar las piezas incluidas (por unidad de venta) dentro del empaque, caja o blíster. Ej. 1 malla cerámica de 30 x 30 cm, conformada por 15 losetas ó 1 cerradura, 1 tarjeta reinicio, 1 kit instalación, 1 manual","option_list":null,"value":"1 campana"},"40859":{"id":40859,"name":"Unidad de Venta al Público","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Especificar cómo se vende el producto en tienda, es decir, al cliente se le vende el producto por pieza, por caja, por m2, por paquete de N cantidad de productos (six pack, paquete de 10 piezas, etc. Ej. Por Pieza","option_list":null,"value":"1"},"40974":{"id":40974,"name":"Color","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":1,"commercial_model":1,"active":1,"required":true,"description":"Indicar el color que el proveedor desee ver para sus productos. Ej. Rojo Avory.","option_list":null,"value":"Negro"},"43467":{"id":43467,"name":"Costo","min_chars":null,"max_chars":20,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Indicar el costo del producto en MXN.","option_list":null,"value":"100"},"43468":{"id":43468,"name":"Disponibilidad","min_chars":null,"max_chars":20,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Indicar si se cumple con disponibilidad del producto con \"in-stock\" o \"out-of-stock\"","option_list":null,"value":"in-stock"},"43533":{"id":43533,"name":"Tipo","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":false,"description":"Especificar el tipo de producto que es. Ej. Casa, Portátil, etc.","option_list":null},"43701":{"id":43701,"name":"Descripción en Español","min_chars":null,"max_chars":50,"type":"Alfanumérico","id_group":5,"commercial_model":1,"active":1,"required":true,"description":"Mencionar el Nombre del producto","option_list":null},"43702":{"id":43702,"name":"Categoría","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":5,"commercial_model":1,"active":1,"required":true,"description":"Especificar si es un Mueble de TV, Silla, etc. (Alfanumérico)","option_list":null},"43703":{"id":43703,"name":"Costo Nacional","min_chars":null,"max_chars":20,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Indicar el costo del producto, especificar si esta en MXN/USD. Maximo 2 decimales","option_list":null},"43704":{"id":43704,"name":"Retail Sugerido con IVA","min_chars":null,"max_chars":20,"type":"Numérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Indicar en MXN. Máximo 2 decimales","option_list":null},"43705":{"id":43705,"name":"Margen Sugerido %","min_chars":null,"max_chars":20,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Indicar el margen del producto. Máximo 2 decimales","option_list":null},"43706":{"id":43706,"name":"Ponderación % Venta","min_chars":null,"max_chars":20,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Indicar la ponderación del producto. Máximo 2 decimales","option_list":null},"43707":{"id":43707,"name":"Largo","min_chars":null,"max_chars":20,"type":"Numérico","id_group":16,"commercial_model":1,"active":1,"required":true,"description":"Indicar el largo de la caja en metros. Máximo 2 decimales","option_list":null},"43708":{"id":43708,"name":"Ancho","min_chars":null,"max_chars":20,"type":"Numérico","id_group":16,"commercial_model":1,"active":1,"required":true,"description":"Indicar el ancho de la caja en metros. Máximo 2 decimales","option_list":null},"43709":{"id":43709,"name":"Alto","min_chars":null,"max_chars":20,"type":"Numérico","id_group":16,"commercial_model":1,"active":1,"required":true,"description":"Indicar el alto de la caja en metros. Máximo 2 decimales","option_list":null},"43710":{"id":43710,"name":"Peso","min_chars":null,"max_chars":20,"type":"Numérico","id_group":16,"commercial_model":1,"active":1,"required":true,"description":"Indicar el peso de la caja en Kilos (Kg). Máximo 2 decimales","option_list":null},"43714":{"id":43714,"name":"Número de Proveedor","min_chars":null,"max_chars":20,"type":"Numérico","id_group":5,"commercial_model":1,"active":1,"required":true,"description":"Agregar el # de proveedor proporcionado por THD","option_list":null},"43715":{"id":43715,"name":"Departamento","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Indicar el # de departamento, de acuerdo al listado proporcionado","option_list":"[\"D21 - Maderas\", \"D22 - Construcción\", \"D23 - Pisos\", \"D24 - Pinturas y Limpieza\", \"D25 - Ferretería\", \"D26 - Baños\", \"D27 - Eléctrico\", \"D28 - Temporada\", \"D29 - Cocinas y Línea Blanca\", \"D30 - Puertas\", \"D45 - Herramientas\", \"D46 - Plomería\", \"D47 - Iluminación\", \"D48 - Jardinería\", \"D59 - Organización y Decoración\"]"},"43718":{"id":43718,"name":"Sufijo","min_chars":null,"max_chars":20,"type":"Numérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Agregar el # de Sufijo proporcionado por THD","option_list":null},"43719":{"id":43719,"name":"Tipo de SKU","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Indicar el tipo de SKU primario","option_list":"[\"Special Buy\", \"Special Order (Catalogado)\"]"},"43720":{"id":43720,"name":"Etiqueta","min_chars":null,"max_chars":15,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Especificar qué es el producto","option_list":null},"43721":{"id":43721,"name":"Descripción en Inglés","min_chars":null,"max_chars":50,"type":"Alfanumérico","id_group":5,"commercial_model":1,"active":1,"required":true,"description":"Mencionar el Nombre del producto","option_list":null},"43722":{"id":43722,"name":"Grava IVA","min_chars":null,"max_chars":2,"type":"Booleano","id_group":5,"commercial_model":1,"active":1,"required":true,"description":"Especificar Sí o No","option_list":"[\"Sí\", \"No\"]"},"43723":{"id":43723,"name":"Unidad de Venta","min_chars":null,"max_chars":10,"type":"Alfanumérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Indicar la unidad de venta de acuerdo al listado","option_list":"[\"EA=Pieza\", \"BX=Caja\"]"},"43724":{"id":43724,"name":"Clave de Producto del SAT","min_chars":null,"max_chars":3,"type":"Alfanumérico","id_group":5,"commercial_model":1,"active":1,"required":true,"description":"Indicar la clave del producto SAT de acuerdo al listado","option_list":"[\"H87\", \"XBX\"]"},"43725":{"id":43725,"name":"Clave Unidad de Medida del SAT","min_chars":null,"max_chars":60,"type":"Alfanumérico","id_group":5,"commercial_model":1,"active":1,"required":true,"description":"Indicar la clave unidad de medida del SAT","option_list":null},"43726":{"id":43726,"name":"Vendor Pack","min_chars":null,"max_chars":20,"type":"Numérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Indicar el número vendor","option_list":null},"43727":{"id":43727,"name":"Cubicaje","min_chars":null,"max_chars":20,"type":"Numérico","id_group":5,"commercial_model":1,"active":1,"required":true,"description":"Multiplicación de largo, ancho y alto","option_list":null},"43728":{"id":43728,"name":"Cantidad de Piezas","min_chars":null,"max_chars":20,"type":"Numérico","id_group":6,"commercial_model":1,"active":1,"required":true,"description":"Cantidad piezas de producto le llegaría al cliente","option_list":null},"43729":{"id":43729,"name":"Costo Fob (Interior)","min_chars":null,"max_chars":20,"type":"Numérico","id_group":5,"commercial_model":1,"active":1,"required":true,"description":"Indicar el valor del atributo","option_list":null},"43730":{"id":43730,"name":"Costo Fob (Tiendas Fronteras)","min_chars":null,"max_chars":20,"type":"Numérico","id_group":5,"commercial_model":1,"active":1,"required":true,"description":"Indicar el valor del atributo","option_list":null},"43731":{"id":43731,"name":"Store order indicator (Each=1, Inner=2, Case=3, Pallet=4)","min_chars":null,"max_chars":20,"type":"Alfanumérico","id_group":5,"commercial_model":1,"active":1,"required":true,"description":"Especificar con 1,2,3,4","option_list":null},"43732":{"id":43732,"name":"Requiere EACH (producto base) ?","min_chars":null,"max_chars":2,"type":"Booleano","id_group":17,"commercial_model":1,"active":1,"required":true,"description":"Especificar (Y) Sí / (N) No","option_list":"[\"Y\", \"N\"]"},"43733":{"id":43733,"name":"Largo Each","min_chars":null,"max_chars":20,"type":"Numérico","id_group":17,"commercial_model":1,"active":1,"required":false,"description":"Indicar el largo en metros","option_list":null},"43734":{"id":43734,"name":"Ancho Each","min_chars":null,"max_chars":20,"type":"Numérico","id_group":17,"commercial_model":1,"active":1,"required":false,"description":"Indicar el ancho en metros","option_list":null},"43735":{"id":43735,"name":"Alto Each","min_chars":null,"max_chars":20,"type":"Numérico","id_group":17,"commercial_model":1,"active":1,"required":false,"description":"Indicar el alto en metros","option_list":null},"43736":{"id":43736,"name":"Metros cubicos Each","min_chars":null,"max_chars":20,"type":"Numérico","id_group":17,"commercial_model":1,"active":1,"required":false,"description":"Multiplicación de largo, ancho y alto","option_list":null},"43737":{"id":43737,"name":"Piezas Each","min_chars":null,"max_chars":20,"type":"Numérico","id_group":17,"commercial_model":1,"active":1,"required":false,"description":"Cantidad de piezas","option_list":null},"43738":{"id":43738,"name":"Peso Each","min_chars":null,"max_chars":20,"type":"Numérico","id_group":17,"commercial_model":1,"active":1,"required":false,"description":"Indicar el peso en kg","option_list":null},"43739":{"id":43739,"name":"Requiere Inner ?","min_chars":null,"max_chars":2,"type":"Booleano","id_group":18,"commercial_model":1,"active":1,"required":true,"description":"Especificar (Y) Sí / (N) No","option_list":"[\"Y\", \"N\"]"},"43740":{"id":43740,"name":"Largo Inner","min_chars":null,"max_chars":20,"type":"Numérico","id_group":18,"commercial_model":1,"active":1,"required":false,"description":"Indicar el largo en metros","option_list":null},"43741":{"id":43741,"name":"Ancho Inner","min_chars":null,"max_chars":20,"type":"Numérico","id_group":18,"commercial_model":1,"active":1,"required":false,"description":"Indicar el ancho en metros","option_list":null},"43742":{"id":43742,"name":"Alto Inner","min_chars":null,"max_chars":20,"type":"Numérico","id_group":18,"commercial_model":1,"active":1,"required":false,"description":"Indicar el alto en metros","option_list":null},"43743":{"id":43743,"name":"Metros cubicos Inner","min_chars":null,"max_chars":20,"type":"Numérico","id_group":18,"commercial_model":1,"active":1,"required":false,"description":"Multiplicación de largo, ancho y alto","option_list":null},"43744":{"id":43744,"name":"Piezas Inner","min_chars":null,"max_chars":20,"type":"Numérico","id_group":18,"commercial_model":1,"active":1,"required":false,"description":"Cantidad de piezas","option_list":null},"43745":{"id":43745,"name":"Peso Inner","min_chars":null,"max_chars":20,"type":"Numérico","id_group":18,"commercial_model":1,"active":1,"required":false,"description":"Indicar el peso en kg","option_list":null},"43746":{"id":43746,"name":"Requiere Pallet?","min_chars":null,"max_chars":2,"type":"Booleano","id_group":19,"commercial_model":1,"active":1,"required":true,"description":"Especificar (Y) Sí / (N) No","option_list":"[\"Y\", \"N\"]"},"43747":{"id":43747,"name":"Largo Pallet","min_chars":null,"max_chars":20,"type":"Numérico","id_group":19,"commercial_model":1,"active":1,"required":false,"description":"Indicar el largo en metros","option_list":null},"43748":{"id":43748,"name":"Ancho Pallet","min_chars":null,"max_chars":20,"type":"Numérico","id_group":19,"commercial_model":1,"active":1,"required":false,"description":"Indicar el ancho en metros","option_list":null},"43749":{"id":43749,"name":"Alto Pallet","min_chars":null,"max_chars":20,"type":"Numérico","id_group":19,"commercial_model":1,"active":1,"required":false,"description":"Indicar el alto en metros","option_list":null},"43750":{"id":43750,"name":"Metros cubicos Pallet","min_chars":null,"max_chars":20,"type":"Numérico","id_group":19,"commercial_model":1,"active":1,"required":false,"description":"Multiplicación de largo, ancho y alto","option_list":null},"43751":{"id":43751,"name":"Piezas por Pallet","min_chars":null,"max_chars":20,"type":"Numérico","id_group":19,"commercial_model":1,"active":1,"required":false,"description":"Cantidad de piezas","option_list":null},"43752":{"id":43752,"name":"Peso Pallet","min_chars":null,"max_chars":20,"type":"Numérico","id_group":19,"commercial_model":1,"active":1,"required":false,"description":"Indicar el peso en kg","option_list":null}}}}
|