Women's Lapel V-neck Button Waist Denim Dress

$78.00
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'f6767ced-dbc4-4246-87fb-96432b7f471a'; this.isRTL = SPZ.win.document.dir === 'rtl'; } 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 = 'eeecd7c8-9579-43b2-88f6-42abcec610a2'; 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 == 'eeecd7c8-9579-43b2-88f6-42abcec610a2' && 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(); }); } 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);
Size:  S(US 6-8/UK 10-12/EU 38-40)
Quantity

Description

Elevate Your Wardrobe with This Timeless Dress

Searching for a dress that seamlessly blends elegance, comfort, and versatility? Look no further—this masterpiece is about to become your new obsession.

Craftsmanship That Speaks Volumes

Every stitch of this dress tells a story of quality. Made from premium, breathable fabric, it drapes gracefully over your figure, skimming curves without clinging. The material feels soft against the skin, ideal for all - day wear—whether you’re powering through a busy workday, dancing at a weekend soirée, or strolling through a sunlit market. It resists wrinkles, too, so you’ll look polished from dawn to dusk, no matter where the day takes you.

Design: Classic Meets Contemporary

The silhouette? Timelessly flattering. A subtly cinched waist defines your shape, while the flowing skirt offers effortless movement (and hides any post - lunch regrets!). The neckline strikes the perfect balance—chic enough for formal moments, yet approachable for casual outings. Ensuring you stand out without trying too hard.

Versatility: Your Wardrobe Workhorse

This dress is a chameleon. Pair it with sleek heels and a blazer for the office—hello, boardroom - ready chic. Swap in sandals and a denim jacket for brunch with friends. Come evening, add statement jewelry and strappy heels, and you’re date - night flawless. It works in every season, too: layer with tights and a cardigan in winter, or wear it solo with espadrilles in summer. One dress, endless looks—your wallet (and closet) will thank you.
 

Fit for Every Body

We believe style should be inclusive. This dress comes in a range of sizes, designed to celebrate all body types. The cut is thoughtfully tailored to flatter curves, create definition, and boost confidence—because when you look good, you feel good.

Why Wait? Elevate Your Everyday

Tired of settling for “just okay” outfits? This dress isn’t just clothing—it’s a confidence boost. It’s the piece you’ll reach for when you want to feel put - together, no matter the occasion.
Ready to transform your wardrobe? Add this dress to your cart now. Embrace the elegance, enjoy the comfort, and step into a world where every day feels a little more glamorous.

 

Dress Size:

 SizeLengthBustWaist
CMinchCMinchCMinch
XS13854.38232.36526.0
S13954.78633.96927.2
M14055.19135.87429.1
L14155.59637.87931.1
XL14255.910139.88433.1
2XL14356.310641.78935.0
3XL14456.711143.79437.0

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