price_list.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548
  1. 'use strict';
  2. const e = React.createElement;
  3. const PRICE_LIST = [
  4. {
  5. "codigo": 1001,
  6. "producto": "Complex Bio Vitamins A+E+C",
  7. "contenido": "60 ml",
  8. "precio": 250,
  9. "publico": 500
  10. },
  11. {
  12. "codigo": 2001,
  13. "producto": "Complex Bio Vitamins A+E+C",
  14. "contenido": "250 ml.",
  15. "precio": 398,
  16. "publico": ""
  17. },
  18. {
  19. "codigo": 1002,
  20. "producto": "Sublime Uvit - Crema Reparadora",
  21. "contenido": "60 ml.",
  22. "precio": 250,
  23. "publico": 500
  24. },
  25. {
  26. "codigo": 2002,
  27. "producto": "Sublime Uvit - Crema Reparadora",
  28. "contenido": "250 ml.",
  29. "precio": 398,
  30. "publico": ""
  31. },
  32. {
  33. "codigo": 1003,
  34. "producto": "Audace - Glico Activo",
  35. "contenido": "50 ml.",
  36. "precio": 250,
  37. "publico": 500
  38. },
  39. {
  40. "codigo": 2003,
  41. "producto": "Audace - Glico Activo",
  42. "contenido": "120 ml.",
  43. "precio": 380,
  44. "publico": ""
  45. },
  46. {
  47. "codigo": 1004,
  48. "producto": "Bisome Retinol - Fluido Facial",
  49. "contenido": "50 ml.",
  50. "precio": 210,
  51. "publico": 420
  52. },
  53. {
  54. "codigo": 2004,
  55. "producto": "Bisome Retinol - Fluido Facial",
  56. "contenido": "120 ml.",
  57. "precio": 350,
  58. "publico": ""
  59. },
  60. {
  61. "codigo": 1005,
  62. "producto": "Emulsión de Higiene",
  63. "contenido": "120 ml.",
  64. "precio": 160,
  65. "publico": 320
  66. },
  67. {
  68. "codigo": 2005,
  69. "producto": "Emulsión de Higiene",
  70. "contenido": "500 ml.",
  71. "precio": 290,
  72. "publico": ""
  73. },
  74. {
  75. "codigo": 1006,
  76. "producto": "Repair Eye Contour",
  77. "contenido": "30 ml.",
  78. "precio": 280,
  79. "publico": 560
  80. },
  81. {
  82. "codigo": 1007,
  83. "producto": "Uvit Serum Defense",
  84. "contenido": "50 ml.",
  85. "precio": 220,
  86. "publico": 440
  87. },
  88. {
  89. "codigo": 2007,
  90. "producto": "Uvit Serum Defense",
  91. "contenido": "120 ml.",
  92. "precio": 380,
  93. "publico": ""
  94. },
  95. {
  96. "codigo": 2008,
  97. "producto": "Exfoliating Scrub",
  98. "contenido": "250 ml.",
  99. "precio": 290,
  100. "publico": ""
  101. },
  102. {
  103. "codigo": 2009,
  104. "producto": "Refreshing Mask",
  105. "contenido": "250 ml.",
  106. "precio": 330,
  107. "publico": ""
  108. },
  109. {
  110. "codigo": 2010,
  111. "producto": "Specific Mask",
  112. "contenido": "250 ml.",
  113. "precio": 350,
  114. "publico": ""
  115. },
  116. {
  117. "codigo": 1011,
  118. "producto": "Acne Skin Cleans",
  119. "contenido": "50 ml.",
  120. "precio": 180,
  121. "publico": 360
  122. },
  123. {
  124. "codigo": 2011,
  125. "producto": "Acne Skin Cleans",
  126. "contenido": "200 ml.",
  127. "precio": 320,
  128. "publico": ""
  129. },
  130. {
  131. "codigo": 2012,
  132. "producto": "Peeling Bio Regulador",
  133. "contenido": "30 ml.",
  134. "precio": 165,
  135. "publico": ""
  136. },
  137. {
  138. "codigo": 2013,
  139. "producto": "Micropeeling",
  140. "contenido": "30 ml.",
  141. "precio": 170,
  142. "publico": ""
  143. },
  144. {
  145. "codigo": 1016,
  146. "producto": "Microdermo Lift",
  147. "contenido": "20 ml.",
  148. "precio": 260,
  149. "publico": 520
  150. },
  151. {
  152. "codigo": 1017,
  153. "producto": "Hydra Intensive Serum",
  154. "contenido": "50 ml.",
  155. "precio": 220,
  156. "publico": 440
  157. },
  158. {
  159. "codigo": 2017,
  160. "producto": "Hydra Intensive Serum",
  161. "contenido": "120 ml.",
  162. "precio": 380,
  163. "publico": ""
  164. },
  165. {
  166. "codigo": 1018,
  167. "producto": "Hydra Intensive Tonico",
  168. "contenido": "50 ml.",
  169. "precio": 210,
  170. "publico": 420
  171. },
  172. {
  173. "codigo": 2018,
  174. "producto": "Hydra Intensive Tonico",
  175. "contenido": "120 ml.",
  176. "precio": 320,
  177. "publico": ""
  178. },
  179. {
  180. "codigo": 1020,
  181. "producto": "RENOVATIO Retinol For Men",
  182. "contenido": "50 ml.",
  183. "precio": 210,
  184. "publico": 420
  185. },
  186. {
  187. "codigo": 1021,
  188. "producto": "RENOVATIO Serum For Men",
  189. "contenido": "50 ml.",
  190. "precio": 210,
  191. "publico": 420
  192. },
  193. {
  194. "codigo": 1022,
  195. "producto": "RENOVATIO Skin Control For Men",
  196. "contenido": "50 ml.",
  197. "precio": 210,
  198. "publico": 420
  199. },
  200. {
  201. "codigo": 2023,
  202. "producto": "1 Vitamina C Liposomada",
  203. "contenido": "130 ml.",
  204. "precio": 210,
  205. "publico": ""
  206. },
  207. {
  208. "codigo": 2024,
  209. "producto": "2 Acido Lipoico",
  210. "contenido": "130 ml.",
  211. "precio": 200,
  212. "publico": ""
  213. },
  214. {
  215. "codigo": 2025,
  216. "producto": "3 Oligoelementos Marinos +Zn+Cu",
  217. "contenido": "130 ml.",
  218. "precio": 190,
  219. "publico": ""
  220. },
  221. {
  222. "codigo": 2026,
  223. "producto": "4 Fosfatidilcolina",
  224. "contenido": "130 ml.",
  225. "precio": 210,
  226. "publico": ""
  227. },
  228. {
  229. "codigo": 2027,
  230. "producto": "5 Centella Asiatica",
  231. "contenido": "130 ml.",
  232. "precio": 200,
  233. "publico": ""
  234. },
  235. {
  236. "codigo": 2028,
  237. "producto": "6 Espirulina",
  238. "contenido": "130 ml.",
  239. "precio": 190,
  240. "publico": ""
  241. },
  242. {
  243. "codigo": 2029,
  244. "producto": "7 Cafeina",
  245. "contenido": "130 ml.",
  246. "precio": 200,
  247. "publico": ""
  248. },
  249. {
  250. "codigo": 8000,
  251. "producto": "Tester de Hidratación",
  252. "contenido": "",
  253. "precio": 1590,
  254. "publico": ""
  255. },
  256. {
  257. "codigo": 1030,
  258. "producto": "Hydroviton - Monodosis",
  259. "contenido": "6 x 5 ml.",
  260. "precio": 540,
  261. "publico": 1080
  262. },
  263. {
  264. "codigo": 1031,
  265. "producto": "Vitamina F Pure - Monodosis",
  266. "contenido": "6 x 5 ml.",
  267. "precio": 515,
  268. "publico": 1030
  269. },
  270. {
  271. "codigo": 1032,
  272. "producto": "Skin Dose - Monodosis",
  273. "contenido": "6 x 5 ml.",
  274. "precio": 583,
  275. "publico": 1166
  276. },
  277. {
  278. "codigo": 1033,
  279. "producto": "Bio Dose - Monodosis",
  280. "contenido": "6 x 5 ml.",
  281. "precio": 500,
  282. "publico": 1000
  283. },
  284. {
  285. "codigo": 1034,
  286. "producto": "HSP - 20 - Monodosis",
  287. "contenido": "6 x 5 ml.",
  288. "precio": 590,
  289. "publico": 1180
  290. },
  291. {
  292. "codigo": 1035,
  293. "producto": "Complex AM 40 - Monodosis",
  294. "contenido": "6 x 5 ml.",
  295. "precio": 630,
  296. "publico": 1260
  297. },
  298. {
  299. "codigo": 1036,
  300. "producto": "Complex AM 45 - Monodosis",
  301. "contenido": "6 x 5 ml.",
  302. "precio": 610,
  303. "publico": 1220
  304. },
  305. {
  306. "codigo": 1037,
  307. "producto": "Vitamina C - Monodosis",
  308. "contenido": "6 x 5 ml.",
  309. "precio": 600,
  310. "publico": 1200
  311. },
  312. {
  313. "codigo": 1038,
  314. "producto": "Argan Bio + - Monodosis",
  315. "contenido": "6 x 5 ml.",
  316. "precio": 630,
  317. "publico": 1260
  318. },
  319. {
  320. "codigo": 1039,
  321. "producto": "DD Cream",
  322. "contenido": "50 ml.",
  323. "precio": 230,
  324. "publico": 460
  325. },
  326. {
  327. "codigo": 1040,
  328. "producto": "Whitening Cream",
  329. "contenido": "50 ml.",
  330. "precio": 200,
  331. "publico": 400
  332. },
  333. {
  334. "codigo": 2040,
  335. "producto": "Whitening Cream",
  336. "contenido": "200 ml",
  337. "precio": 340,
  338. "publico": ""
  339. },
  340. {
  341. "codigo": 1041,
  342. "producto": "Sensitive Cream",
  343. "contenido": "50 ml.",
  344. "precio": 200,
  345. "publico": 400
  346. },
  347. {
  348. "codigo": 2041,
  349. "producto": "Sensitive Cream",
  350. "contenido": "200 ml",
  351. "precio": 340,
  352. "publico": ""
  353. },
  354. {
  355. "codigo": 2042,
  356. "producto": "Dynamic DO ALL – 1",
  357. "contenido": "200 ml",
  358. "precio": 370,
  359. "publico": ""
  360. },
  361. {
  362. "codigo": 2043,
  363. "producto": "Dynamic DO ALL – 2",
  364. "contenido": "200 ml",
  365. "precio": 370,
  366. "publico": ""
  367. },
  368. {
  369. "codigo": 1044,
  370. "producto": "PROTECTION TIME Color Ác Hialurónico",
  371. "contenido": "40 ml",
  372. "precio": 290,
  373. "publico": 580
  374. },
  375. {
  376. "codigo": 1045,
  377. "producto": "PROTECTION TIME Sepicalm V.G.",
  378. "contenido": "40 ml",
  379. "precio": 280,
  380. "publico": 560
  381. },
  382. {
  383. "codigo": 2044,
  384. "producto": "PROTECTION TIME Color Grosella",
  385. "contenido": "200 ml",
  386. "precio": 610,
  387. "publico": 1220
  388. },
  389. {
  390. "codigo": 2045,
  391. "producto": "PROTECTION TIME Aceite de Sésamo",
  392. "contenido": "200 ml",
  393. "precio": 600,
  394. "publico": 1200
  395. },
  396. {
  397. "codigo": 1046,
  398. "producto": "Crema Antioxidante Corporal",
  399. "contenido": "200ml.",
  400. "precio": 190,
  401. "publico": 380
  402. },
  403. {
  404. "codigo": 2046,
  405. "producto": "Crema Antioxidante Corporal",
  406. "contenido": "500 ml.",
  407. "precio": 370,
  408. "publico": ""
  409. },
  410. {
  411. "codigo": 2047,
  412. "producto": "Dermo Corp, Crema de Masajes",
  413. "contenido": "500ml.",
  414. "precio": 350,
  415. "publico": 700
  416. },
  417. {
  418. "codigo": 2048,
  419. "producto": "Lift Corp, Crema de Masajes",
  420. "contenido": "500ml.",
  421. "precio": 360,
  422. "publico": 720
  423. },
  424. {
  425. "codigo": 1049,
  426. "producto": "Espuma ACTIVE 7",
  427. "contenido": "160 ml.",
  428. "precio": 290,
  429. "publico": 580
  430. },
  431. {
  432. "codigo": 1050,
  433. "producto": "Espuma Strialess",
  434. "contenido": "160 ml.",
  435. "precio": 300,
  436. "publico": 600
  437. },
  438. {
  439. "codigo": 1051,
  440. "producto": "S.O.S Sculpt",
  441. "contenido": "160ml.",
  442. "precio": 300,
  443. "publico": 600
  444. },
  445. {
  446. "codigo": 1052,
  447. "producto": "S.O.S Extreme",
  448. "contenido": "160 ml.",
  449. "precio": 300,
  450. "publico": 600
  451. },
  452. {
  453. "codigo": 9000,
  454. "producto": "Therapy Ritual's Coconut",
  455. "contenido": "150 ml.",
  456. "precio": 280,
  457. "publico": ""
  458. },
  459. {
  460. "codigo": 9001,
  461. "producto": "Therapy Ritual's Sweet Almond Oil",
  462. "contenido": "150 ml.",
  463. "precio": 270,
  464. "publico": ""
  465. },
  466. {
  467. "codigo": 9002,
  468. "producto": "Therapy Ritual's - Origins",
  469. "contenido": "20 ml.",
  470. "precio": 280,
  471. "publico": 560
  472. },
  473. {
  474. "codigo": 9003,
  475. "producto": "Therapy Ritual's - Early Spring",
  476. "contenido": "20ml.",
  477. "precio": 220,
  478. "publico": 440
  479. },
  480. {
  481. "codigo": 9004,
  482. "producto": "Therapy Ritual's - Soltice",
  483. "contenido": "20 ml.",
  484. "precio": 230,
  485. "publico": 460
  486. },
  487. {
  488. "codigo": 9005,
  489. "producto": "Therapy Ritual's - Imperial Species",
  490. "contenido": "20 ml.",
  491. "precio": 230,
  492. "publico": 460
  493. },
  494. {
  495. "codigo": 9006,
  496. "producto": "Therapy Ritual's - Select Lavander",
  497. "contenido": "20 ml.",
  498. "precio": 230,
  499. "publico": 460
  500. }
  501. ];
  502. const HEADERS = ['Cod.', 'Producto', 'Cont.', 'Precio', 'Sug. Público']
  503. const HeaderMaker = () => e(
  504. 'thead',
  505. null,
  506. e(
  507. 'tr',
  508. null,
  509. HEADERS.map(header => e('th', { key: header }, header))
  510. )
  511. );
  512. const MkTD = (prop, key) => e(
  513. 'td',
  514. null,
  515. prop
  516. );
  517. const formatPrice = price => price ? `$ ${new Intl.NumberFormat('es-ES',{ maximumSignifiantDigits: 2, minimumFractionDigits: 2 }).format(price)}` : '-';
  518. const BodyMaker = () => e(
  519. 'tbody',
  520. null,
  521. PRICE_LIST.map((item) => e(
  522. 'tr',
  523. { key: item.codigo },
  524. MkTD(item.codigo),
  525. MkTD(item.producto),
  526. MkTD(item.contenido),
  527. MkTD(formatPrice(item.precio)),
  528. MkTD(formatPrice(item.publico))
  529. ))
  530. );
  531. const PriceList = () => e(
  532. 'table',
  533. {
  534. className: 'table is-striped is-narrow is-fullwidth'
  535. },
  536. HeaderMaker(),
  537. BodyMaker()
  538. )
  539. const domContainer = document.querySelector('#price_list');
  540. ReactDOM.render(e(PriceList), domContainer);