Ladies' Lapel Patchwork Wash Top+ Shorts Casual Suit

$59.00
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '1a40eefd-2634-4c27-9108-099ed1441874'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // 加购中状态 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = '1958279d-6628-4ed4-b4b5-6aed3f44bf52'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == '1958279d-6628-4ed4-b4b5-6aed3f44bf52' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); // 加购事件 this.registerAction('handleAddToCart', (invocation) => { // 阻止事件冒泡 const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // 如果正在加购中,直接返回 if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // 加购方法 async addToCart(quantity) { // 设置加购中状态 this.isAddingToCart_ = true; const productId = '1958279d-6628-4ed4-b4b5-6aed3f44bf52'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // 触发加购成功提示 this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // 无论成功失败,都重置加购状态 this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // 触发加购成功提示 triggerAddToCartToast_() { // 如果主题有自己的加购提示,则不显示 const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // 显示应用的加购成功提示 this.showToast_("Added successfully"); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() {} unmountCallback() {} setupAction_() { this.registerAction('showAddToCartToast', () => { const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy') if(themeAddToCartToastEl) return const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);
Color:  blue
Size:  S(US 6-8/UK 10-12/EU 38-40)
Quantity

Description

Elevate Your Summer Style: Denim Wash Co - ord Set

Get ready to own the season with this denim wash co - ord set – the ultimate blend of laid - back cool and chic design for sunny days and beyond.

Trendy Denim Wash Fabric

Crafted from a soft, lightweight denim - inspired fabric, this set brings the classic denim vibe without the heaviness. The washed - out blue hue gives it a vintage, lived - in feel that’s perfect for summer. It’s breathable enough to keep you cool on scorching afternoons and durable to withstand all your adventures, from beach trips to city strolls.

Effortlessly Cool Crop Top

This cropped top has a loose, oversized cut and dolman sleeves that drape perfectly. The V-neck adds a subtle touch of glamour, while the chest pockets add a touch of utilitarian style. It cleverly shows off a hint of skin for an effortless summer look. Wear it tucked in or loose - it's the perfect finishing touch to pair with shorts.

Comfy High - Waisted Shorts

The high - waisted shorts are a dream for summer. The elasticized drawstring waist ensures a custom, comfortable fit that moves with you. The relaxed, wide - leg cut offers plenty of airflow, keeping you breezy and cool. Functional side pockets add a practical touch, perfect for stashing your keys or a lip balm. The denim wash matches the top perfectly, creating a cohesive, head - turning ensemble.

Versatile Styling Options

This co - ord set is a styling powerhouse. Wear them together for a cohesive, Instagram - worthy outfit that screams “effortless summer chic.” Mix and match: pair the top with high - waisted jeans for a more urban vibe, or style the shorts with a simple white tank for a laid - back beach look. Dress it up with strappy sandals and a woven bag (like the stunning one in the pic!) for a brunch date, or keep it casual with slides and a sun hat for a day by the pool.

Easy - Care & Durable

Don’t let the stylish look fool you – this set is easy to care for. Machine washable (gentle cycle recommended) and quick to dry, it’s perfect for your busy, on - the - go lifestyle. The fabric retains its shape and color wash after wash, ensuring your set looks fresh and fabulous all season long.

Confidence in Every Stitch

Slip into this denim wash co - ord set, and you’ll instantly feel more confident and carefree. It’s the kind of outfit that makes getting dressed in the morning a breeze and puts a spring in your step all day long. Whether you’re a denim devotee or just love easy, stylish summer pieces, this set is a must - have.
 
Ready to upgrade your summer wardrobe? Add this denim wash co - ord set to your cart today and step into a season of endless style possibilities. Embrace the denim trend, the comfort of the fabric, and the versatility of the design – your summer self will thank you.
 
Don’t wait – click “Add to Cart” now and get ready to rock the most stylish co - ord set of the season.

 

Tops size:
SizeLengthBustSleeve Length
CMinchCMinchCMinch
XS5622.09035.43513.8
S5722.49437.03614.2
M5822.89939.03714.6
L5923.210440.93815.0
XL6023.610942.93915.4
2XL6124.011444.94015.7
3XL6224.411946.94116.1

 

Pants Size:

SizeWaistHipsLength
CMinchCMinchCMinch
XS6425.29035.44517.7
S6525.69437.04618.1
M6626.09939.04718.5
L6726.410440.94818.9
XL6826.810942.94919.3
2XL6927.211444.95019.7
3XL7027.611946.95120.1

*This data was obtained from manually measuring the product, it may be off by 1-2 CM.