| 1 |
- import{Y as t}from"./index-C1kRunFF.js";import{t as i}from"./format.D7Ah6vn5.js";function n(t){return u.items.find(i=>i.product.id===t)}const u=t({items:[]});function s(t){const s=n(t.id);if(s)s.quantity<100&&s.quantity++;else{if(!(u.items.length<20))return void i("最多选择20种套餐");u.items.push({product:t,quantity:1})}i("已加入订单")}function o(t){return n(t.id)?(u.items=u.items.filter(i=>i.product.id!==t.id),i("已取消选择"),!1):u.items.length>=20?(i("最多选择20种套餐"),!1):(u.items.push({product:t,quantity:1}),i("已选择,可继续选择其他套餐"),!0)}function c(t){const i=n(t.id);i&&i.quantity<100&&i.quantity++}function e(t){const i=n(t.id);i&&(i.quantity>1?i.quantity--:o(t))}function r(t){var i;return(null==(i=n(t))?void 0:i.quantity)??0}function a(){return u.items.map(t=>({package_id:t.product.id,quantity:t.quantity}))}function d(t){for(const i of u.items){const n=t.find(t=>t.id===i.product.id);n&&(i.product=n)}}function f(t){for(const i of u.items){const n=t.items.find(t=>t.package_id===i.product.id);if(!n||n.quantity!==i.quantity)throw new Error("套餐选择已变化,请重新报价");const u=i.product.sku_id===n.sku_id;i.product={...i.product,name:n.name,sku_id:n.sku_id,sku_name:u?i.product.sku_name:null,liters:u?i.product.liters:null,buckets:n.buckets/n.quantity,price_cents:n.unit_price_cents,unit_price_cents:Math.round(n.amount_cents/n.buckets)}}}function m(){u.items=[]}export{s as a,a as b,u as c,e as d,f as e,m as f,c as i,r as q,d as r,o as t};
|