暫無描述
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

productdetails_old.js 7.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. const mainPhoto = $('.productDetailsMain > img');
  2. let currentTypeModal = null;
  3. function onClickHandler(e) {
  4. $(e).parent().find('.borderselector').removeClass('borderselector');
  5. $(e).addClass('borderselector')
  6. }
  7. function setProductData(data) {
  8. if (!data) return;
  9. const productname = data.displayName;
  10. $('.productname').html(data.displayName)
  11. const type = data.productType;
  12. switch (type) {
  13. case 'ram':
  14. // setRamProduct(data.type)
  15. setProductRam_new(data.type)
  16. break;
  17. default:
  18. break;
  19. }
  20. }
  21. // new
  22. function setProductRam_new(data){
  23. const {name,specs} = data;
  24. $('.productname').html(name);
  25. let parent = $('.memory-parent').find('.borderselector').html();
  26. let ramTech = parent.trim().toLowerCase()
  27. genrateChildMem(ramTech);
  28. }
  29. function getChildHTML(name,isTrue,attr){
  30. let data_attr = attr;
  31. if(data_attr == undefined){
  32. return ` <div data-${attr}="${attr}" type="button" onclick="onClickHandler(this)" class="specsmallcard-mini ${isTrue?'borderselector':''} card small-font p-3" data-version="${name}">
  33. ${name}
  34. </div>`;
  35. }else{
  36. return ` <div data-${attr}="${attr}" type="button" onclick="onClickHandler(this)" class="specsmallcard-mini ${isTrue?'borderselector':''} card small-font p-3" data-gb="${name}">
  37. ${name}
  38. </div>`;
  39. }
  40. }
  41. function computerSizeClick(obj){
  42. $(`[data-computersize="computersize"]`).off().click(function (e){
  43. let size = $(e.target).html().trim().toLowerCase();
  44. setPrice(size);
  45. // if(size == '16gb'){
  46. // const str = './dist/assets/imgs/Home_new/Home_Carousel_2.png';
  47. // $('.productDetailsMain > img').attr('src',str);
  48. // }
  49. })
  50. function setPrice(size){
  51. let namehelper = $('.ramtech').find('.borderselector').html().trim().toLowerCase();
  52. let devHelper = $('.memorycontainer').find('.borderselector').html().trim().toLowerCase();
  53. let name = '';
  54. let realName = '';
  55. let imgURL = '';
  56. if(namehelper === 'ddr4' && devHelper === 'desktop'){
  57. name = 'priceddr4d'
  58. }else if(namehelper === 'ddr5' && devHelper === 'desktop'){
  59. name = 'priceddr5d'
  60. }else if(namehelper === 'ddr4' && devHelper === 'laptop'){
  61. name = 'priceddr4l'
  62. }else {
  63. name = 'priceddr5l'
  64. }
  65. if(size == '16gb'){
  66. $('.price').html(obj[name][1]);
  67. $('.productname').html(obj[`${name}name`][1]);
  68. $('.productDetailsMain img').attr('src',obj[`${name}img`][1])
  69. }else if(size == '32gb'){
  70. $('.price').html(obj[name][2]);
  71. $('.productname').html(obj[`${name}name`][2]);
  72. $('.productDetailsMain img').attr('src',obj[`${name}img`][2])
  73. }else{
  74. $('.price').html(obj[name][0]);
  75. $('.productname').html(obj[`${name}name`][0]);
  76. $('.productDetailsMain img').attr('src',obj[`${name}img`][0]);
  77. }
  78. }
  79. let size = $($(`[data-computersize="computersize"]`)[0]).html().trim().toLowerCase();
  80. setPrice(size);
  81. }
  82. function genrateChildMem(ramTech,attr){
  83. let remTechArr = obj[ramTech];
  84. let items = '';
  85. for(let i=0;i<remTechArr.length;i++){
  86. items += getChildHTML(remTechArr[i],i==0,attr);
  87. }
  88. $('.ramtech').html(items);
  89. $(`[data-${attr}="${attr}"]`).off().click(function (e){
  90. let ram = $(e.target).html().trim().toLowerCase();
  91. const ans = obj[ram];
  92. let html ='';
  93. for(let i=0;i<ans.length;i++){
  94. html += getChildHTML(ans[i],i==0,'computersize')
  95. }
  96. $('.computersize').html(html);
  97. computerSizeClick(obj);
  98. })
  99. const ans = obj[remTechArr[0].toLowerCase()];
  100. let html ='';
  101. for(let i=0;i<ans.length;i++){
  102. html += getChildHTML(ans[i],i==0,'computersize')
  103. }
  104. $('.computersize').html(html);
  105. computerSizeClick(obj);
  106. }
  107. $('.memorycontainer').click(function (e){
  108. const type = $(e.target).data('type');
  109. if(type !== 'memory-desktop' && type !== 'memory-laptop') return;
  110. $(e.target).parent().find('.borderselector').removeClass('borderselector');
  111. $(e.target).addClass('borderselector');
  112. if(type == 'memory-desktop'){
  113. debugger;
  114. genrateChildMem('desktop','ramtech');
  115. }else{
  116. genrateChildMem('laptop','ramtech');
  117. }
  118. })
  119. // new end
  120. function init() {
  121. $('.product-item-gallery > img').each(function (i, el) {
  122. $(el).click(function (e) {
  123. $('.product-item-gallery.active-gallery-img').removeClass('active-gallery-img');
  124. let src = $(e.target).attr('src');
  125. $(e.target).parent().addClass('active-gallery-img');
  126. mainPhoto.attr('src', src);
  127. })
  128. })
  129. // const data = getDataProduct();
  130. setProductRam_new(obj);
  131. // setProductItemData(rams);
  132. }
  133. let obj = {
  134. name:'ORA3',
  135. desktop:['DDR4','DDR5'],
  136. laptop:['DDR4','DDR5'],
  137. ddr4:['8GB','16GB','32GB'],
  138. ddr5:['8GB','16GB','32GB'],
  139. priceddr4l:[2990, 4750, 8450],
  140. priceddr5l:[5150, 7800, 13900],
  141. priceddr4d:[2990, 4750, 9450],
  142. priceddr5d:[5800, 7600, 15500],
  143. priceddr4lname:['ORA 8GB DDR4 3200MHz Laptop RAM','ORA 16GB DDR4 3200MHz Laptop RAM','ORA 32GB DDR4 3200MHz Laptop RAM'],
  144. priceddr5lname:['ORA 8GB DDR5 4800MHz Laptop RAM','ORA 16GB DDR5 4800MHz Laptop RAM','ORA 32GB DDR5 4800MHz Laptop RAM'],
  145. priceddr4dname:['ORA 8GB DDR4 3200MHz Desktop RAM','ORA 16GB DDR4 3200MHz Desktop RAM','ORA 32GB DDR4 3200MHz Desktop RAM'],
  146. priceddr5dname:['ORA 8GB DDR5 4800MHz Desktop RAM','ORA 16GB DDR5 4800MHz Desktop RAM','ORA 32GB DDR5 4800MHz Desktop RAM'],
  147. priceddr4limg:['../dist/assets/imgs/accessiories/ram/ddr4-laptop.jpg','../dist/assets/imgs/accessiories/ram/ddr4-laptop.jpg', '../dist/assets/imgs/accessiories/ram/ddr4-laptop.jpg'],
  148. priceddr5limg:['../dist/assets/imgs/accessiories/ram/ddr5-laptop.jpg', '../dist/assets/imgs/accessiories/ram/ddr5-laptop.jpg', '../dist/assets/imgs/accessiories/ram/ddr5-laptop.jpg'],
  149. priceddr4dimg:['../dist/assets/imgs/accessiories/ram/ddr4-desktop.jpg', '../dist/assets/imgs/accessiories/ram/ddr4-desktop.jpg','../dist/assets/imgs/accessiories/ram/ddr4-desktop.jpg'],
  150. priceddr5dimg:['../dist/assets/imgs/accessiories/ram/ddr5-desktop.jpg','../dist/assets/imgs/accessiories/ram/ddr5-desktop.jpg','../dist/assets/imgs/accessiories/ram/ddr5-desktop.jpg'],
  151. }
  152. init();
  153. // function startDetails(){
  154. // let productId = window.location.search.split('=')[1];
  155. // getProductDetails(productId);
  156. // function getParentHTML(name,productid,id){
  157. // return `<div class="pb-2 $${name?.replace(" ",'')}-parent">
  158. // <h5 class="py-2 smallHeadingProductDetails">${name}</h5>
  159. // <div class="d-flex gap-2 ${id}container" data-tagid="${id}">
  160. // </div>
  161. // </div>`;
  162. // }
  163. // async function getProductDetails(id){
  164. // let res = await postStatAPIService(`${SERVERNAME}/apis/v4/bizgaze/integrations/products/producttagname/productid/${id}`);
  165. // res = JSON.parse(res.data.result);
  166. // let html = '';
  167. // for(let i=0;i<res.length;i++){
  168. // const {parentattribute,tagid,productid} = res[i];
  169. // debugger;
  170. // html += getParentHTML(parentattribute,productid,tagid);
  171. // }
  172. // $('#spec-container-details').html(html);
  173. // }
  174. // }
  175. // startDetails();