V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050
 V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050

V-Neck One Shoulder Sleeveless Long Mermaid Pleated Prom Dress With Sequins Beadings | Champage Satin And Tulle CO0050

Price

$279.00 $25.90
Save $253.10
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'cb3ac8a9-dcac-4e97-bf0f-831660fcde6e'; 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 = '54024c39-8401-4b44-876a-3e67679a3e48'; 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 == '54024c39-8401-4b44-876a-3e67679a3e48' && 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 = '54024c39-8401-4b44-876a-3e67679a3e48'; 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() { // 同一页可能有多个 block 各自渲染本 snippet,导致逻辑元素 spz-custom-discount-toast(#appsAddCartToastFunc) 重复。 // 仅保留 DOM 中第一个实例,其余重复实例移除自身,保证逻辑元素及其 action 引用(appsAddCartToastFunc)唯一。 const funcs = document.querySelectorAll('#appsAddCartToastFunc'); if (funcs.length > 1 && this.element !== funcs[0]) { this.element.remove(); return; } // 全局折扣 toast 的弹出点分散在多个模板/组件里(含声明式 @atcError),无法逐一在弹出前前置, // 故挂载时幂等地去重并挂到 body;加购 toast 改为弹出前按需去重(见 showAddToCartToast) this.ensureSingleToastInBody_('cart_match_discount_toast_wrap'); } unmountCallback() {} // 同一页面可能有多个 block 各自渲染本 toast snippet(如商详的 discount_automatic + 购物车抽屉里的折扣横幅), // 导致 toast 外层出现重复 id。重复 id 下 getElementById/querySelector 及 SPZ 动作引用都只命中第一个, // 且被关进抽屉的那份会被抽屉的 transform/overflow 裁剪/错位。这里在挂载时幂等去重: // 只保留一份、移除多余的,并把保留的挂到 body(body 是 position:fixed 最安全的落点,避免被任何祖先裁剪)。可反复调用。 ensureSingleToastInBody_(id) { const els = Array.from(document.querySelectorAll('#' + id)); if (!els.length) return; els.slice(1).forEach((el) => el.remove()); const keep = els[0]; if (keep.parentNode !== document.body) { document.body.appendChild(keep); } } // 主题购物车抽屉是否打开 isInCartDrawer_() { return !!document.querySelector('[data-section-type="cart_drawer"] spz-sidebar[open]'); } setupAction_() { this.registerAction('showAddToCartToast', () => { // 抽屉内加购:主题本就不会有加购效果,统一弹插件自己的 toast // 非抽屉:主题有加购代理则沿用主题加购效果,否则插件兜底 const proxyEl = document.getElementById('add-cart-event-proxy'); const inDrawer = this.isInCartDrawer_(); if (!inDrawer && proxyEl) { return; } // 弹出前按需去重并挂到 body(幂等),避免重复 id 命中错对象或被抽屉裁剪/错位 this.ensureSingleToastInBody_('apps_add_cart_toast_wrap'); 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);
Free shipping

color

Please select a color

size

Please select a size

Quantity

Free worldwide shipping
Free returns
Sustainably made
Secure payments
Description

📐Free Customization Service.

● Free customized color . (You can tell us the color you want or the specific swatch color number)
● Free customized size . (We need your bust/waist/hip/barefoot height data)
● Free customized style. (You can ask us any modification you want, if there is a reference picture is best, we will communicate with you to confirm to make sure it is exactly according to your requirements) 

🛫Worldwide Delivery Service.

No matter where you are, as long as you can place an order successfully, we can deliver to your door.

● We will start the production immediately after the order is placed, and we will ship the products immediately after the production.
● All the products are shipped by shipping, and will be delivered to your door by your local courier company after arriving at your place.

💥Rush Order Service.
You can contact us at service@cocoslly.com.

● We will start the production immediately after the order is successfully placed, and you can receive it as soon as 7-15 days after the order is placed (depending on the style and the region).
● If you have any requirements for the delivery time, you can contact us to inform us, or write it in the special instructions of the order when you place an order, we will prioritize the arrangement for you according to your requirements.


If you still have any questions, please feel free to contact us at email:service@cocoslly.com.

It is our honor to serve you! 😊

How to Measurement

Welcome to Cocoslly,

We support free size customization service, you can directly send your bust, waist, hips and height to our email service@cocoslly.com or contact our customer service staff by any means.

Dress

Jumpsuits

You can also choose a standard size based on your measurements (of course, we recommend customized sizing because of the slimness of the dress, which can better avoid sizing problems).

US SIZE
UK/AU SIZE
EUR SIZE
BUST
WAIST
HIPS
HIEGHT
243232.5/8325.5/6535.75/9163/160
463433.5/8426.5/6836.75/9265/160
683634.5/8827.5/7037.75/9665/165
8103835.5/9028.5/7238.75/9865/165
10124036.5/9329.5/7539.75/10167/170
12144238/9731/7941.25/10567/170
14164439.5/10032.5/8342.75/10969/175
16184641/10434/8644.25/11269/175
14w184441/10434/8643.5/11069/175
16w204643/10936.25/9245.5/11669/175
18w224845/11438.5/9847.5/12169/175
20w245047/11940.75/10449.5/12669/175
22w265249/12443/10951.5/13169/175
24w285451/13045.25/11553.5/13669/175
26w305653/13547.5/12155.5/14169/175

We respect your choice, if you have any questions about sizing, please feel free to contact us. service@cocoslly.com

Our staff will help you to choose the most suitable size.

Thank you!😊







Color Chart

This is the color swatch with satin & chiffon for reference only.

There will be a slight difference in color between different fabrics, the monitor and camera lens reasons, there will also be a slight color difference in kind, please also understand.

If you are interested in a certain dress, or you have the exact desired color, please send an email to service@cocoslly.com, our customer service staff will check with you and send you the real fabric color samples, so that you can select the exact color you need.

Thanks.

Satin

Chiffon

Return & Refund

Thank you for shopping with Cocoslly.

If you have any questions, pls free free to contact us. 

-You should contact us within 24 hours( from the date that the item is received) if there's any problems with the dress received.(No more than 3 days)
- We do not support customers order several dresses back home for try on and then keep one return the rest.

- We suggest customers keep the dress or donate it if there's small problem with the dress, we can do partial refund.

- If insist need return the dress, you should contact our customer support first within 24 hours; Our service will send the process of returning, and pls keep in mind, you need pay shipping fee back, and after we got the dress returned, we will do refunds (shipping fee and rush order service fee is nonrefundable, and there will be a 15% restocking fee).

-We cannot accept returns on items that have been worn or damaged by improper cleaning method. And also we do not support free returns if the dress is in good condition and you just do not like it or do not need it any more. Because all our dresses are customized, hope you understand.

(If the return is caused by the consumer, consumer should be responsible for the shipping fee. The specific fee should be based on the express company you choose.

If due to our reasons, the goods received are damaged or not correct, and the consumer is not required to bear the shipping fee for this reason.)

  • All ordered can not be canceled after 2 hours, because our workers will start making the dress after 2 hours, if insist cancel, there will be a 50$~ $80 fee for the workers who have already worked on this dress. If the style of the dress is complex and the production cost is relatively high, if the order needs to be cancelled, we need to charge a 50% fee.
  • Customers need to be responsible for shipping fees or customs to send back the package. Pls, remark the dress value to be $5.

-Because of the high cost of international delivery and the difficulty of returning a parcel in transit, we will not process returns or cancel for a refund once the parcel has been sent. If you have any questions about our products, please contact our customer service after you have received your dress.

-As there are often customers who request refund after using the dress once or twice, our dresses will not be refunded after three days of being signed for. In the event of a problem with your dress, please contact customer service immediately.thank you for your understanding.

-The actual calculation time is subject to the response of the customer service staff.

-Our customer service staff will process the return and refund within 48 hours;
And the refund amount will be returned to the bank account through the original payment method within 1-3 working days after the agreement.

If you have any further questions/issues, pls do not hesitate to contact us: .

Please contact our Customer service at email to get the return address.