Fashion Oval Earrings

$9.99
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'ba3eff3e-caf3-4007-a5b7-eb31c87160bc'; 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 = 'e96efb39-30cb-4017-bb0e-5389dc1b00fc'; 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 == 'e96efb39-30cb-4017-bb0e-5389dc1b00fc' && 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 = 'e96efb39-30cb-4017-bb0e-5389dc1b00fc'; 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:  Gold
Quantity

Description

Size (inch)US SizeBR SizeBust(inch)WaistHip
S4-6PP34.626.837.4
M8P36.228.339
L10M37.829.940.6
XL12-14G37.8 40.929.9 33.140.6 47.6
2XL14-16G40.9 44.133.1 36.247.6 50.8
3XL16-18GG44.1 47.236.2 39.450.8 53.9
4XL18-20XXG47.2 50.439.4 42.553.9 57.1
5XL20-22XLG50.4 53.542.5 45.757.1 60.2

Size (cm)US SizeBR SizeBust(cm)WaistHip
S6PP886895
M8P927299
L10M9676103
XL12-14G96-10476-84103-121
2XL14-16G104-11284-92121-129
3XL16-18GG112-12092-100129-137
4XL18-20XXG120-128100-108137-145
5XL20-22XLG128-136108-116145-153

How to measure

This size chart is for reference purposes only.
Note that sizing will vary between brands. 

1. Bust

Measure under your arms around
the fullest part of your bust.
Make sure to keep the tape level.

2.Waist

Make sure the measuring tape fits
comfortably as you.
measure around the narrowest part of
your natural waist.


3. Hips

Stand with your feet together.
   and measure around the widest
part of your hips.


1. Please contact Customer Service on our site, indicating the item(s) you would like to return and the reason.
2. After receiving return instructions from us, please package up the item(s) to be returned with the original packing.
3. Drop off your package at the local post office.
4. Most returns are processed within 1-3 business days after we receive your package.
Return Conditions
1. You have 30 days to decide if an item is right for you, if you would like to return or exchange the item please contact us within 30 days of delivery.
2. The following items cannot be returned or exchanged: bodysuits, lingerie, swimwear, jewelry, underwear, event & party supplies, DIY supplies, pet supplies, beauty and accessories (except scarves, bags).
3. Returned items must be in their unused condition with the original packing. We do not accept a returned item that has been worn, damaged, washed, or altered in any way.
4. Items with non-returnable marks and free gifts cannot be returned.
5. We do not accept returned items that have been sent back without proper returns requests.
6. We do not offer Freight To Collect (FTC) service for the packages returned to us. The returns will be made at your own cost.
7. Please be sure to double-check your returns before shipping them out. We are not responsible for the return of non SETCHICS products .
8.We will only carry out the return and refund process when there is a quality problem with the goods or if the wrong goods are sent out with the wrong code. No refunds will be given for deliberate returns or fraudulent goods.
Note: The original shipping fee and Shipping Guarantee are non-refundable.
Note: If you choose the wrong size due to personal reasons, please contact customer service for return or exchange and provide pictures
Return Address
Please contact our Customer Service,we will provide you a return address and you will receive a response as soon as possible.
Note: Please do not send your return to the address on your package. That is not our return address and will affect the processing of your return.
NOTE: If you have any issues with your return, you must contact Customer Support within 90 days after your order was first placed.
Cancel the order
If you decide to cancel the order, please contact us by email first. If the order has been shipped, we will not accept order cancellation requests.
 
How to get a refund?
- We will arrange a refund for you within 1-3 business day after receiving your package.
- Cancel the order, we will arrange a refund for you within 1 working day.
- For PayPal refunds, it can take up to 3 to 7 business days to complete, depending on the payment method of the item (for example, Paypal balance, credit/debit card, or checking account).
- For bank card refunds, it may take 5-10 business days to appear in your account. This delay depends entirely on your credit card company and its intermediaries.

Contact us
If you have other questions, please feel free to contact us at: service@setchics.com.