Contrast Vintage Plush Print Casual Trousers
Contrast Vintage Plush Print Casual Trousers
Contrast Vintage Plush Print Casual Trousers
Contrast Vintage Plush Print Casual Trousers
Contrast Vintage Plush Print Casual Trousers
Contrast Vintage Plush Print Casual Trousers
1/3
Contrast Vintage Plush Print Casual Trousers
Contrast Vintage Plush Print Casual Trousers
Contrast Vintage Plush Print Casual Trousers
1/3

Contrast Vintage Plush Print Casual Trousers

$28.89
$35.00
ColorDark_Green
Please select a color
Size
Please select a size
Quantity
Barcode:
  • Occasion : Outdoors , Home , Vacation , Street , Public
  • Style : Casual , Street , Vintage , Basics , Glamorous
  • Color : Green
  • Season : Autumn , Spring , Summer , Winter
  • Pattern Type : Colorblock
  • Length : Long

Size Chart

cm
SizeSMLXL2XL
waist7276808488
hipline110115120125130
outside Length107108109110111
inch
Size inchSMLXL2XL
waist28.329.931.533.134.6
hipline43.345.347.249.251.2
outside Length42.142.542.943.343.7
class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "8e01a41a-d817-40be-a30e-5c6ba0dd9c4d"; // 促销活动数据 this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // 挂载bind函数 解决this指向问题 this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // 获取数据 this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); if (this.flashsaleData.product_setting.is_redirection && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(`/promotions/discount-default/${this.flashsaleData.discount_info.id}`); } } // 绑定 this.viewport_.onResize(this.resize); // 监听子款式切换,重新渲染 this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // 解绑 this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // 清除定时器 if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == '4bfe6038-9099-41f5-b591-9c797d5858c6' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "4bfe6038-9099-41f5-b591-9c797d5858c6", product_type: "", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);