Vintage Keyhole Neck Lace Sleeves Velvet Mini Dress

const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'd25a265e-619f-42fd-ba7d-125b52c873fd'; 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 = '231214ec-5136-4dcd-b099-ffe55c9dc390'; 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 == '231214ec-5136-4dcd-b099-ffe55c9dc390' && 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);
$34.00
Color:  Brown
Size:  S
Quantity

Description

Description

🌹 Vintage Lace-Trimmed Velvet Bodycon Dress – Sophisticated Allure for Evening Glam

Step into timeless glamour with this chocolate-brown velvet bodycon dress, where retro opulence meets modern sensuality. The sumptuous velvet texture is complemented by intricate lace cutouts at the neckline and sheer lace sleeves, creating a striking contrast of softness and edge. The bodycon midi silhouette hugs curves while maintaining refined elegance—perfect for winter galas, anniversary dinners, or any occasion that calls for vintage-inspired allure.


Product Info

  • Style: Vintage Glam / Elegant Sexy / Evening Chic

  • Material: Premium Velvet + Floral Lace Trim

  • Season: Fall & Winter

  • Occasions: Gala events, dinner dates, festive parties, formal gatherings

  • Design: Lace cutout neckline, sheer lace sleeves, bodycon fit, midi length


Design Highlights

  • 🌸 Lace Cutout Neckline → dramatic yet elegant, revealing just enough skin to intrigue

  • Sheer Lace Sleeves → delicate, airy detail that balances the richness of velvet

  • 💃 Bodycon Midi Fit → sculpts curves while midi length keeps the look sophisticated

  • 🌙 Velvet Texture → luxurious depth that catches light and feels indulgent to the touch


Styling Inspiration

  • Red Carpet Ready: Pair with metallic stiletto heels, a diamond tennis bracelet, and a sleek updo

  • Vintage Cocktail Hour: Add a feathered clutch, Mary Jane pumps, and cat-eye makeup for 50s-inspired charm

  • Winter Elegance: Layer with a fur stole, knee-high boots, and a statement ring for cozy glamour


💖 Why You’ll Love It

  • The velvet-lace combination feels luxurious yet playful — perfect for making a grand entrance

  • Bodycon fit is figure-flattering while remaining comfortable for all-night wear

  • Versatile showpiece: dress up with diamonds or keep it moody with matte accessories

  • Designed for women who want to feel confident, alluring, and unapologetically chic


📏 Size Guide

SizeUKUSEUBust (cm / inch)Waist (cm / inch)Hips (cm / inch)Shoulder (cm / inch)Weight (kg)
S8/104/636/3888 / 34.6568 / 26.7794 / 37.0138 / 14.9645–50
M12/148/1040/4293 / 36.6173 / 28.7499 / 38.9839.3 / 15.4755–60
L16124498 / 38.5878 / 30.71104 / 40.9441.5 / 16.3460–65
XL181446103 / 40.5583 / 32.68109 / 42.9141.8 / 16.4665–70
2XL201648108 / 42.5288 / 34.65114 / 44.8843 / 16.9370–75
3XL221850113 / 44.4993 / 36.61119 / 46.8544.3 / 17.4475–80

💡 Tip: True to size — for a more relaxed drape, consider sizing up.