1class ScriptDetailWholesale extends Script { 2 constructor(params) { 3 super(params) 4 this.$unit = document.getElementById(`${this.attrId}`) 5 if (this.$unit === null) return; 6 this.$wholesale = this.$unit.querySelector('.unit-detail-wholesale') 7 this.$wholesaleItem = this.$unit.querySelector('.unit-detail-wholesale__item-content') 8 } 9 10 init() { } 11 12 setWholesaleList() { 13 // æ¹åä»·å表 14 const list = window.app.info.productDetail.wholesale 15 // 妿æ°é大äº4ææ¾ç¤º 16 const wholesale_method = window.app.info.productDetail.wholesale_method 17 if (wholesale_method && list.length > 4) { 18 this.$wholesale.classList.remove('d-none') 19 let wholesaleHtml = `` 20 list.forEach(item => { 21 const newItem = this.setItem(item, wholesale_method) 22 wholesaleHtml += this.getHtml(newItem) 23 }) 24 this.$wholesaleItem.innerHTML = wholesaleHtml 25 } 26 } 27 28 setItem(item, wholesale_method) { 29 // 产ååä»· 30 const unit_price = this.getUnitPrice() 31 if (wholesale_method === 2) { 32 item.discount_limit = (100 - ((item.discount / 1000) / 10 * 100)) 33 item.total_price = unit_price * (item.discount / 1000) / 10 34 } else { 35 item.discount_limit = unit_price ? ((unit_price - (item.discount / 100)) / unit_price * 100).toFixed(2) : 0 36 item.total_price = item.discount / 100 37 } 38 item.discount_limit = this.utilts.toFixed(Number(item.discount_limit)) 39 item.total_price = this.utilts.toFixed(Number(item.total_price)) 40 return item 41 } 42 43 getUnitPrice() { 44 const defail = window.app.info.productDetail 45 // å¦ææ¯ææ£å¹¶ä¸æåä»· 46 if (defail.is_discount == 1 && defail.discount_original_price) return defail.discount_original_price 47 // å¦ææ¯ææ£å¹¶ä¸æ²¡æåä»· 48 else if (defail.is_discount == 1 && !defail.discount_original_price) return defail.discount_sell_min_price 49 // 䏿¯ææ£è¿åæå°éå®ä»·æ ¼ 50 else return defail.min_price 51 } 52 53 getHtml(item) { 54 return ` 55 <div class="unit-detail-wholesale__item"> 56 <div class="unit-detail-wholesale--number"> 57 ${item.quantity}+ 58 </div> 59 <div class="unit-detail-wholesale--discont">${item.discount_limit}% ${window.app.utilts.$t('Off')}</div> 60 <div class="unit-detail-wholesale--price"> 61 $${item.total_price} 62 </div> 63 </div> 64 ` 65 } 66 67 render() { 68 this.setWholesaleList() 69 } 70}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.