PageSourceSearch

https://www.ctechigroup.com/assets/js/unit/detail-wholesale.js

js ctechigroup.com collected 2026-10-08 16:11:17 UTC 2,278 bytes, 70 lines download raw bytes

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.