@yorkjs/hive-biz 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hive-biz.esm.js +1 -1
- package/dist/hive-biz.esm.js.map +1 -1
- package/dist/hive-biz.esm.min.js +1 -1
- package/dist/hive-biz.esm.min.js.map +1 -1
- package/dist/hive-biz.js +1 -1
- package/dist/hive-biz.js.map +1 -1
- package/dist/hive-biz.min.js +1 -1
- package/dist/hive-biz.min.js.map +1 -1
- package/package.json +1 -1
- package/types/coupon/couponSelector.d.ts +5 -0
package/dist/hive-biz.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("lodash-es"),require("@yorkjs/hive")):"function"==typeof define&&define.amd?define(["exports","lodash-es","@yorkjs/hive"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["Hive-Biz"]={},t.lodashEs,t.hive)}(this,function(t,e,i){"use strict";function n(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}}),e.default=t,Object.freeze(e)}var o=n(i);function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=Array(e);i<e;i++)n[i]=t[i];return n}function u(t,e,i){return e=l(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,d()?Reflect.construct(e,i||[],l(t).constructor):e.apply(t,i))}function c(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e,i){return e&&function(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,v(n.key),n)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function a(t,e,i){return(e=v(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function d(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(d=function(){return!!t})()}function m(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,n)}return i}function f(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?m(Object(i),!0).forEach(function(e){a(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):m(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function h(t,e){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},h(t,e)}function p(t){return function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return r(t,e);var i={}.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?r(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}function _(t){if(null==t||e.isNaN(t))return!0;var i=!1;switch(Object.prototype.toString.call(t)){case"[object Object]":i=0===Object.keys(t).length;break;case"[object Array]":i=0===t.length;break;case"[object String]":0===t.trim().length&&(i=!0)}return i}var k=function(t){function e(t,i){var n;c(this,e);var o=[];return t.forEach(function(t,e){t.list.forEach(function(t){o.push("".concat(e,"_").concat(t))})}),a(n=u(this,e,[o]),"specList",[]),a(n,"specCombinationList",[]),n.specList=t,n.specCombinationList=i,n.initSpec(),n.initSameLevel(),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&h(t,e)}(e,t),s(e,[{key:"initSpec",value:function(){var t=this;this.specCombinationList.forEach(function(e,i){var n=e.specs.map(function(t,e){return"".concat(e,"_").concat(t)});t.fillInSpec(n,i+2)})}},{key:"initSameLevel",value:function(){var t=this,e=this.getCollection(this.vertex);this.specList.forEach(function(i,n){var o=[];i.list.forEach(function(t){var i="".concat(n,"_").concat(t);e.includes(i)&&o.push(i)}),t.fillInSpec(o,1)})}},{key:"getSpecsOptions",value:function(t){var e=[];if(t.some(Boolean)){var i=t.map(function(t,e){return t?"".concat(e,"_").concat(t):""}).filter(Boolean);e=this.getUnions(i)}else e=this.getCollection(this.vertex);return e}},{key:"fillInSpec",value:function(t,e){var i=this;t.forEach(function(n){i.setAdjoinVertexs(n,t,e)})}}])}(function(){return s(function t(e){c(this,t),a(this,"vertex",[]),a(this,"quantity",0),a(this,"adjoinArray",[]),this.vertex=e,this.quantity=this.vertex.length,this.adjoinArray=[],this.init()},[{key:"init",value:function(){this.adjoinArray=e.fill(new Array(this.quantity*this.quantity),0)}},{key:"setAdjoinVertexs",value:function(t,e,i){var n=this,o=this.vertex.indexOf(t);e.forEach(function(t,e){var r=n.vertex.indexOf(t),u=n.adjoinArray[o*n.quantity+r];"number"!=typeof u?n.adjoinArray[o*n.quantity+r].push(i):n.adjoinArray[o*n.quantity+r]=u>1?[u,i]:i})}},{key:"getVertexCol",value:function(t){var e=this,i=this.vertex.indexOf(t),n=[];return this.vertex.forEach(function(t,o){n.push(e.adjoinArray[i+e.quantity*o])}),n}},{key:"getCollection",value:function(t){var e=this,i=t.map(function(t){return e.getVertexCol(t)}),n=[];return i.forEach(function(e,i){e.some(function(t){return 0!==t})&&n.push(t[i])}),n}},{key:"getUnions",value:function(t){var e=this,i=t.map(function(t){return e.getVertexCol(t)}),n=[];return this.vertex.forEach(function(t,o){var r=i.map(function(t){return t[o]}).filter(function(t){return 1!==t});e.isItemEqual(r)&&n.push(t)}),n}},{key:"isItemEqual",value:function(t){if(t.includes(0))return!1;var e=-1;return t.length&&(t.some(function(t){return"number"==typeof t&&(e=t),"number"==typeof t}),-1===e)?this.isArrayUnions(t):t.every(function(t){return"number"==typeof t?t===e:t.includes(e)})}},{key:"isArrayUnions",value:function(t){return!!t.length&&t[0].some(function(e){return t.every(function(t){return t.includes(e)})})}}])}()),C=function(){return s(function t(e){c(this,t);var i=e.productSpecGroupList,n=e.skuListAfter,o=e.activitySpecList,r=void 0===o?[]:o;this.productSpecGroupList=i,this.skuListAfter=n,this.activitySpecList=r,this.specAdjoinMatrix=new k(i,n)},[{key:"isActivitySpec",value:function(t,i){return!_(this.activitySpecList)&&!!e.find(this.activitySpecList[t],function(t){return t.name===i})}},{key:"getSpecGroupStateList",value:function(t){var e=this,i=this.specAdjoinMatrix.getSpecsOptions(t);return this.productSpecGroupList.map(function(n,o){return{title:n.title,items:n.list.map(function(n){return{value:n,isEnabled:-1!==i.indexOf("".concat(o,"_").concat(n)),isActive:t[o]===n,isActivitySpec:e.isActivitySpec(o,n)}})}})}},{key:"getOptionSpecs",value:function(t){return this.specAdjoinMatrix.getSpecsOptions(t)}},{key:"toggleSpec",value:function(t,e,i,n){var o,r;if(!t)return n;var u=p(n),c=null!==(o=null===(r=this.productSpecGroupList[i])||void 0===r?void 0:r.list)&&void 0!==o?o:[];return-1!==u.indexOf(e)?u[i]="":(c.forEach(function(t){var e=u.indexOf(t);-1!==e&&(u[e]="")}),u[i]=e),u}},{key:"findMatchedSku",value:function(t){var e=t.filter(Boolean),i=this.productSpecGroupList.length;if(e.length===i)return this.skuListAfter.find(function(t){return e.every(function(e){return t.specs.includes(e)})})}},{key:"isAllSpecSelected",value:function(t){var e=this.productSpecGroupList.length;return t.filter(function(t){return!_(t)}).length===e}}])}(),y=1e7,S="decrease";function b(t,e){var i=f(f({},t),{},{id:e.activity_sku_id,origin_sku_id:t.id,is_promotion_activity:!0,is_set_activity_price:!1});return-1!==e.sale_price&&e.sale_price!==t.sale_price&&(i.original_price=t.sale_price,i.sale_price=e.sale_price,i.is_set_activity_price=!0),-1!==e.stock_count&&(i.stock_count=e.stock_count),i}function g(t){return f(f({},t),{},{origin_sku_id:t.id,is_promotion_activity:!1,is_set_activity_price:!1})}function L(t){return t.map(function(t){return{title:t.spec.name,list:t.items.map(function(t){return t.name})}})}function I(t,e,i){var n=[];return t.map(function(t){(i||t.stock_count>0)&&n.push(f(f({},t),{},{specs:t.item_ids.map(function(t){return e[t]})}))}),n}function E(t){var e={};return t.forEach(function(t){t.items.forEach(function(t){e[t.id]=t.name})}),e}function P(t,e){var i,n=e;0!==t.length&&(void 0!==(null===(i=t[0].items[0])||void 0===i?void 0:i.image)&&(n=t[0].items[0].image));return n}function O(t){var e=[];return t.forEach(function(t){var i=[];t.items.forEach(function(t){t.is_promotion_activity&&i.push(t)}),e.push(i)}),e}function x(t,e){return 1===t&&1===e}function T(t,e){return 1===t&&2===(arguments.length>2&&void 0!==arguments[2]?arguments[2]:2)?1===e?"销售中":"已售罄":"已下架"}function A(t){return t.map(function(t){return function(t){return e.pick(t,["id","count"])}(t)})}function z(t){return A(e.flattenDeep(t))}function N(t,n){var o=0,r=e.flattenDeep(n);return t.forEach(function(t){t.items.forEach(function(t){var n=t.id,u=t.customization_item,c=u.increase_type,s=u.increase_sale_price,a=e.find(r,function(t){return t.id===n});a&&2===c&&(o+=i.timesNumber(s,a.count))})}),o}function D(t,i){return t.length===i.length&&e.every(t,function(t){return e.find(i,function(e){return e.id===t.id&&e.count===t.count})})}function M(t){return t.map(function(t){var e=f(f({},t),{},{items:[]});return e.items=t.items.map(function(t){var e=t.count,i=t.selected,n=f(f({},t),{},{selected_count:0});return 1===i&&(n.selected_count=e),n}),e})}function V(t){return G(t)}function G(t){var e=[];return t.forEach(function(t){var i=[],n=t.items,o=t.customization;n.forEach(function(t){var e=t.id,n=t.count,r=t.selected,u=t.selected_count,c=t.customization_item;1===r&&i.push({id:e,name:c.name,count:u||n,count_type:o.count_type})}),e.push(i)}),e}function U(t,i){var n=[],o=e.cloneDeep(t).map(function(t){var o=e.cloneDeep(t.items),r=t.customization,u=[];return o.forEach(function(t){var n=t.id,o=t.count,c=t.selected,s=t.selectable,a=t.customization_item,l=e.find(i,function(e){return e.id===t.id});l?(u.push(l),t.selected_count=l.count,t.selected=1):2===s?1===c&&u.push({id:n,name:a.name,count:o,count_type:r.count_type}):(t.selected_count=0,t.selected=2)}),n.push(u),f(f({},t),{},{items:o})});return{isValid:j(o,n).isValid,customizationGroupList:o,selectedCustomizationItemList:n}}function j(t,e){var i=!0,n="";return t.forEach(function(t,o){var r=t.customization,u=t.min_count,c=t.max_count,s=w(r.count_type);if(i){var a=0;return e[o].forEach(function(t){a+=t.count}),a<u?(i=!1,n="【".concat(r.name,"】:至少选择 ").concat(u," ").concat(s),void(1===c&&(n="请选择【".concat(r.name,"】")))):a>c?(i=!1,void(n="【".concat(r.name,"】:最多选择 ").concat(c," ").concat(s))):void 0}}),{isValid:i,errMsg:n}}function w(t){return 1===t?"种":"份"}function R(t,i){var n=e.filter(i||[],function(t){return 1===t.count_type});if(_(n))return t||"";var o=n.map(function(t){return t.name}).join("、");return t?"".concat(t,"、").concat(o):o}function F(t){var i=e.filter(t||[],function(t){return 1!==t.count_type});return _(i)?"":i.map(function(t){return"".concat(t.name,"x").concat(t.count)}).join("、")}function Y(t){return t.map(function(t){return function(t){var i=e.pick(t,["id","count","combo_sku_id","combo_product_customization_item_list"]),n=i.combo_product_customization_item_list;return n&&(i.combo_product_customization_item_list=A(n)),i}(t)})}function q(t){return Y(e.flattenDeep(t))}function B(t,i){var n=0,r=e.flattenDeep(i);return t.forEach(function(t){t.items.forEach(function(t){var i=t.id,u=t.increase_sale_price,c=e.find(r,function(t){return t.id===i});c&&u>0&&(n+=o.timesNumber(u,c.count))})}),n}function H(t,e,i){if(-1===t)return t;var n=B(e,i||[]);return o.plusNumber(t,n)}function X(t,i){return t.length===i.length&&e.every(t,function(t){return e.find(i,function(e){if(e.id!==t.id||e.count!==t.count)return!1;if(e.combo_sku_id!==t.combo_sku_id)return!1;var i=e.combo_product_customization_item_list||[],n=t.combo_product_customization_item_list||[];return!(!_(n)||!_(i))||D(n,i)})})}function W(t){var e=t.name,i=t.combo_sku_name,n=t.combo_product_customization_item_list,o=e;if(n){var r=R(i,n);o=r?"".concat(e,"(").concat(r,")"):e;var u=F(n);u&&(o="".concat(o,"、").concat(u))}return o}function K(t){var e=t.items,i=t.max_count,n=0;return e.forEach(function(t){1===t.selected&&(n+=t.count)}),-1===i||n<i}function J(t){var e=t.selected,i=t.selectable;return 1===e&&2===i}function $(t){return!_(t.children)}function Q(t){var e=t.min_count,i=t.max_count;return e!==i&&i>1}function Z(t){var e=t.combo_product;return 2===(null==e?void 0:e.select_type)}function tt(t){var e=t.items,i=0;return e.forEach(function(t){1===t.selected&&(i+=t.count)}),i>0}function et(t,i){return _(i)?t:t.map(function(t){var n=t.items.map(function(t){var n=e.find(i,function(e){return e.id===t.id});if(!n)return 1===t.selectable&&(t.selected=2),t;var o=t.children,r=t.combo_product;if(!_(o))return o.forEach(function(t){t.combo_sku.id===n.combo_sku_id?(t.selected=1,t.count=n.count):t.selected=2}),t;if(r){var u,c;if(n.combo_sku_id)t.combo_sku={id:n.combo_sku_id,name:n.combo_sku_name,stock_count:null!==(u=null===(c=t.combo_sku)||void 0===c?void 0:c.stock_count)&&void 0!==u?u:y};n.combo_product_customization_item_list&&(t.combo_customization_item_list=[n.combo_product_customization_item_list])}return t.count=n.count,t.selected=1,t});return f(f({},t),{},{items:n})})}function it(t){return t.map(function(t){var i=[],n=t.name;return t.items.forEach(function(t){var o=t.id,r=t.name,u=t.count,c=t.selected,s=t.children,a=t.combo_sku,l=t.combo_sku_type,d=t.combo_customization_item_list;if(_(s)){if(2!==c)if(1!==l){if(a){var m={id:o,name:r,count:u,combo_sku_id:a.id,combo_sku_name:a.name,combo_group_name:n};d&&(m.combo_product_customization_item_list=e.flattenDeep(d)),i.push(m)}}else i.push({id:o,name:r,count:u,combo_group_name:n})}else{var f=e.find(s,function(t){return 1===t.selected});f&&i.push({id:o,name:"".concat(r,"(").concat(f.name,")"),combo_group_name:n,combo_sku_id:f.combo_sku.id,count:f.count})}}),i})}function nt(t,i,n,o){var r=e.cloneDeep(t),u=r.items[n],c=r.items,s=r.min_count,a=r.max_count,l=0;if(c.forEach(function(t){1===t.selected&&l++}),2===i){if(1===s&&l<=1)return void(null==o||o(r))}else if(1===a)r.items.forEach(function(t,e){e!==n&&(t.selected=2)});else if(l>=a)return void(null==o||o(r));u.selected=i,null==o||o(r)}var ot=function(){return s(function t(e){c(this,t),a(this,"product",{}),a(this,"specImage",void 0),a(this,"skuId",0),a(this,"sku",void 0),a(this,"skuList",[]),a(this,"skuListAfter",[]),a(this,"selectedSpecs",[]),a(this,"productSpecGroupList",[]),a(this,"specList",[]),a(this,"stockCount",0),a(this,"minCount",1),a(this,"maxCount",1),a(this,"perOrderMinLimit",-1),a(this,"perOrderMaxLimit",-1),a(this,"salePrice",0),a(this,"originalPrice",-1),a(this,"memberPrice",void 0),a(this,"skuComboGroupList",[]),a(this,"skuComboItemList",[]),a(this,"cartCount",0),a(this,"cartItem",void 0),a(this,"visibleComboInfo",!1),a(this,"isComponentLoading",!0),a(this,"_initSkuListAfter",[]),a(this,"_initSpecType",0),a(this,"_initSkuId",0),a(this,"_validateComboGroupList",function(){return""});var i=e.productData,n=e.cartList,o=e.channel1Type,r=e.negativeStockSaleEnabled,u=e.onChange,s=e.validateComboGroupList;this.cartList=n||[],this.channel1Type=o,this.negativeStockSaleEnabled=r,this.onChange=u,this._validateComboGroupList=s,this._initProductData(i)},[{key:"getInitialSkuId",value:function(){return this._initSkuId}},{key:"init",value:function(t){var i,n,o=this,r=this._initSpecType,u=this._initSkuListAfter,c=this._findSkuCartItem(),s=0;if(2===r&&!_(c)){var a=c,l=a.sku,d=a.external_sku,m=(null==d?void 0:d.id)||l.id;-1===(s=e.findIndex(u,function(t){return t.id===m}))&&(s=0)}this.cartItem=c,this.cartCount=(null==c||null===(i=c.cart)||void 0===i?void 0:i.count)||0;var f=u[s];if(1===r)return this._initSkuDetail(t),this._updateSkuData(f||this.skuList[0]),this.isComponentLoading=!1,void this._notifyChange();this._initSkuDetail(t),null===(n=u[s])||void 0===n||n.specs.forEach(function(t,e){o._selectSpec(!0,t,e)}),this.isComponentLoading=!1,this._notifyChange()}},{key:"syncCartList",value:function(t){this.cartList=t,this._refreshCartItem(),this._notifyChange()}},{key:"getView",value:function(){return{product:this.product,skuId:this.skuId,salePrice:this.getSalePrice(),originalPrice:this.getOriginalPrice(),memberPrice:this.getMemberPrice(),specImage:this.specImage,skuListAfter:this.skuListAfter,selectedSpecs:this.selectedSpecs,productSpecGroupList:this.productSpecGroupList,skuComboGroupList:this.skuComboGroupList,skuComboItemList:this.skuComboItemList,cartCount:this.cartCount,maxCount:this.maxCount,isComponentLoading:this.isComponentLoading,visibleComboInfo:this.visibleComboInfo}}},{key:"handleSelectSpecs",value:function(t,i,n){var o,r=this;if(!this._selectSpec(t,i,n)||this.selectedSpecs.indexOf("")>=0)return this._notifyChange(),{needFetchSkuDetail:!1,skuId:0};var u=e.find(this.skuListAfter,function(t){return e.isEqual(t.specs,r.selectedSpecs)});return u?(void 0!==(null===(o=this.specList[0])||void 0===o||null===(o=o.items[0])||void 0===o?void 0:o.image)&&this.specList[0].items.forEach(function(t){t.name===r.selectedSpecs[0]&&(r.specImage=t.image)}),this._notifyChange(),{needFetchSkuDetail:!0,skuId:u.id}):(this._notifyChange(),{needFetchSkuDetail:!1,skuId:0})}},{key:"updateSkuDetailData",value:function(t){this._initSkuDetail(t),this._notifyChange()}},{key:"updateMemberPrice",value:function(t){this.memberPrice=t,this._notifyChange()}},{key:"handleSelectComboData",value:function(t){this.skuComboItemList=t,this._refreshCartItem(),this._notifyChange()}},{key:"handleProductCountChange",value:function(t,e){var i=this.perOrderMinLimit,n=this.cartItem;if(this.selectedSpecs.indexOf("")>=0)return{isValid:!1,errMsg:"请选择规格"};if(t>0){if(e===S&&-1!==i&&t<i)return{isValid:!0,cartItem:n,count:0};var o=this._validateCombo();if(o)return{isValid:!1,errMsg:o};var r=this._checkProductCount(t);if(!r.isValid)return r}return{isValid:!0,cartItem:n,count:t}}},{key:"getAddToCartParams",value:function(t,e){var i=this.sku,n=this.skuId,o=this.product,r=this.skuList,u=this.selectedSpecs,c=this.negativeStockSaleEnabled,s=this.productSpecGroupList,a=this.skuComboItemList,l=this.perOrderMinLimit,d=u.indexOf(""),m=x(null==o?void 0:o.status,null==o?void 0:o.has_stock),f=T(null==o?void 0:o.status,null==o?void 0:o.has_stock);if(0!==r[0].item_ids.length&&d>=0)return{isValid:!1,errMsg:"请选择".concat(s[d].title)};if(!m&&!c)return{isValid:!1,errMsg:f};var h=this._validateCombo();return h?{isValid:!1,errMsg:h}:{isValid:!0,params:{productId:t,promotionActivityProductId:null!=i&&i.is_promotion_activity?e:void 0,skuId:n,count:-1!==l?l:1,skuComboItemList:a}}}},{key:"handleShowComboInfo",value:function(){_(e.flattenDeep(this.skuComboItemList))||(this.visibleComboInfo=!0,this._notifyChange())}},{key:"handleCloseComboInfo",value:function(){this.visibleComboInfo=!1,this._notifyChange()}},{key:"getSalePrice",value:function(){return H(this.salePrice,this.skuComboGroupList,this.skuComboItemList)}},{key:"getOriginalPrice",value:function(){return _(this.originalPrice)||this.originalPrice<=0?0:H(this.originalPrice,this.skuComboGroupList,this.skuComboItemList)}},{key:"getMemberPrice",value:function(){if(!(_(this.memberPrice)||this.memberPrice<=0))return H(this.memberPrice,this.skuComboGroupList,this.skuComboItemList)}},{key:"buildCartCountParams",value:function(){var t=q(this.skuComboItemList);return{channel1_type:this.channel1Type,checked:1,sku_id:this.skuId,sku_type:0,sku_combo_item_list:JSON.stringify(t),cart:1}}},{key:"buildMemberPriceParams",value:function(){if(this.skuId)return{sku_id:this.skuId,sku_type:0}}},{key:"_initProductData",value:function(t){var i=t.product,n=t.skuList,o=t.productCover,r=t.productSpecGroupList,u=E(r),c=L(r),s=I(n,u,this.negativeStockSaleEnabled),a=P(r,o);if(this.product=i,this.specImage=a,this.skuList=n,this.skuListAfter=s,this.selectedSpecs=e.fill(new Array(c.length),""),this.productSpecGroupList=c,this.specList=r,this._initSkuListAfter=s,this._initSpecType=i.spec_type,2===i.spec_type){var l=this._findSkuCartItem();if(_(l)){var d,m,f,h;this._initSkuId=null!==(d=null!==(m=null===(f=s[0])||void 0===f?void 0:f.id)&&void 0!==m?m:null===(h=n[0])||void 0===h?void 0:h.id)&&void 0!==d?d:0}else{var p,v,k,C,y=l,S=y.sku,b=y.external_sku,g=(null==b?void 0:b.id)||S.id,O=e.findIndex(s,function(t){return t.id===g});-1===O&&(O=0),this._initSkuId=null!==(p=null!==(v=null===(k=s[O])||void 0===k?void 0:k.id)&&void 0!==v?v:null===(C=n[0])||void 0===C?void 0:C.id)&&void 0!==p?p:0}}else{var x,T;this._initSkuId=null!==(x=null===(T=n[0])||void 0===T?void 0:T.id)&&void 0!==x?x:0}}},{key:"_initSkuDetail",value:function(t){var e,i=t.sku,n=t.sku_combo_group_list;this._updateSkuData(i);var o=et(n||[],null===(e=this.cartItem)||void 0===e?void 0:e.sku_combo_item_list);this.skuComboGroupList=o,this.skuComboItemList=it(o)}},{key:"_updateSkuData",value:function(t){var e,i=t.id,n=t.stock_count,o=t.per_order_min_limit,r=t.per_order_max_limit,u=-1===o?1:Math.min(o,n),c=-1===r?n:Math.min(r,n),s=this._findSkuCartItem(i);this.sku=t,this.skuId=i,this.stockCount=n,this.salePrice=t.sale_price,this.originalPrice=t.original_price,this.minCount=u,this.maxCount=c,this.perOrderMinLimit=o,this.perOrderMaxLimit=r,this.cartItem=s,this.cartCount=(null==s||null===(e=s.cart)||void 0===e?void 0:e.count)||0}},{key:"_checkProductCount",value:function(t){var e=this.minCount,i=this.maxCount,n=this.stockCount,o=this.perOrderMinLimit,r=this.negativeStockSaleEnabled;return t<e||t<o?{isValid:!1,errMsg:-1!==o?"该商品 ".concat(o," 件起售哦"):"购买数量至少 ".concat(e," 件")}:t>i&&!r?{isValid:!1,errMsg:t>n?"库存不足":"该商品最多购买 ".concat(i," 件哦")}:{isValid:!0}}},{key:"_selectSpec",value:function(t,e,i){var n=this.selectedSpecs;return 0!==this.productSpecGroupList.length&&(!(n[i]===e||!t)&&(n[i]=e,this.selectedSpecs=n.slice(),!0))}},{key:"_refreshCartItem",value:function(){var t,e=this._findSkuCartItem(this.skuId);this.cartItem=e,this.cartCount=(null==e||null===(t=e.cart)||void 0===t?void 0:t.count)||0}},{key:"_findSkuCartItem",value:function(t){var i=this.cartList,n=this.product,o=this.skuComboItemList,r=e.find(i,function(i){var r=n.id,u=n.code,c=i.product;if(!(r?c.id===r:c.code===u))return!1;if(!t)return!0;var s=i.sku,a=i.external_sku;if(!(a?a.id===t:s.id===t))return!1;var l=i.sku_combo_item_list||[];return!!_(o)||X(e.flattenDeep(o),l)});return r?e.cloneDeep(r):void 0}},{key:"_validateCombo",value:function(){return this._validateComboGroupList()}},{key:"_notifyChange",value:function(){this.onChange()}}])}(),rt=function(){return s(function t(e){c(this,t),a(this,"product",{}),a(this,"promotionActivityProduct",void 0),a(this,"specImage",void 0),a(this,"skuId",0),a(this,"sku",void 0),a(this,"skuList",[]),a(this,"skuListAfter",[]),a(this,"selectedSpecs",[]),a(this,"productSpecGroupList",[]),a(this,"specList",[]),a(this,"activitySpecList",[]),a(this,"stockCount",0),a(this,"minCount",1),a(this,"maxCount",1),a(this,"perOrderMinLimit",-1),a(this,"perOrderMaxLimit",-1),a(this,"salePrice",0),a(this,"originalPrice",-1),a(this,"memberPrice",void 0),a(this,"customizationGroupList",[]),a(this,"customizationItemList",[]),a(this,"cartCount",0),a(this,"cartItem",void 0),a(this,"cartList",[]);var i=e.productData,n=e.cartList,o=e.channel1Type,r=e.negativeStockSaleEnabled,u=e.onChange;this.cartList=n||[],this.channel1Type=o,this.negativeStockSaleEnabled=r,this.onChange=u,this._initProductData(i)},[{key:"setCartList",value:function(t){this.cartList=t,this._updateSkuCartItem(),this._notifyChange()}},{key:"init",value:function(){var t,i=this,n=this.skuListAfter,o=this.product.spec_type,r=this._findSkuCartItem(),u=0;if(!_(r)){var c=r,s=c.sku,a=c.external_sku,l=c.product_customization_item_list,d=(null==a?void 0:a.id)||s.id;if(-1===(u=e.findIndex(n,function(t){return t.id===d}))&&(u=0),!_(l)){var m=U(this.customizationGroupList,l);this.customizationGroupList=m.customizationGroupList,this.customizationItemList=m.selectedCustomizationItemList}}if(this._updateSkuCartItem(),1===o)return this._updateSkuData(this.skuList[0]),void this._notifyChange();null===(t=n[u])||void 0===t||t.specs.forEach(function(t,e){i._selectSpec(!0,t,e)});var f=e.find(n,function(t){return e.isEqual(t.specs,i.selectedSpecs)});f&&this._updateSkuData(f),this._notifyChange()}},{key:"getView",value:function(){return{product:this.product,promotionActivityProduct:this.promotionActivityProduct,skuId:this.skuId,sku:this.sku,salePrice:this.getSalePrice(),originalPrice:this.getOriginalPrice(),memberPrice:this.getMemberPrice(),specImage:this.specImage,skuListAfter:this.skuListAfter,selectedSpecs:this.selectedSpecs,productSpecGroupList:this.productSpecGroupList,activitySpecList:this.activitySpecList,customizationGroupList:this.customizationGroupList,customizationItemList:this.customizationItemList,cartCount:this.cartCount,maxCount:this.maxCount,cartItem:this.cartItem}}},{key:"handleSelectSpecs",value:function(t,i,n){var o,r=this,u=this._selectSpec(t,i,n),c=this.buildCartCountParams();if(!u||this.selectedSpecs.indexOf("")>=0)return this._updateSkuCartItem(),this._notifyChange(),{needFetchCart:!1,cartParams:c};var s=e.find(this.skuListAfter,function(t){return e.isEqual(t.specs,r.selectedSpecs)});return s?(void 0!==(null===(o=this.specList[0])||void 0===o||null===(o=o.items[0])||void 0===o?void 0:o.image)&&this.specList[0].items.forEach(function(t){t.name===r.selectedSpecs[0]&&(r.specImage=t.image)}),this._updateSkuData(s),this._updateSkuCartItem(),this._notifyChange(),{needFetchCart:!0,cartParams:this.buildCartCountParams()}):(this._updateSkuCartItem(),this._notifyChange(),{needFetchCart:!1,cartParams:c})}},{key:"updateCartCountData",value:function(t){if(t&&void 0!==t.cart){var e=t.cart;this.cartItem=t,this.cartCount=(null==e?void 0:e.count)||0}else this.cartItem=void 0,this.cartCount=0;this._notifyChange()}},{key:"updateMemberPrice",value:function(t){this.memberPrice=t,this._notifyChange()}},{key:"handleCustomizationItemListSelect",value:function(t){return this.customizationItemList=t,j(this.customizationGroupList,t).isValid?(this._updateSkuCartItem(),this._notifyChange(),{isValid:!0,cartParams:this.buildCartCountParams()}):(this.cartItem=void 0,this.cartCount=0,this._notifyChange(),{isValid:!1})}},{key:"handleProductCountChange",value:function(t,e){var i=this.perOrderMinLimit,n=this.cartItem;if(this.selectedSpecs.indexOf("")>=0)return{isValid:!1,errMsg:"请选择规格"};if(t>0){if(e===S&&-1!==i&&t<i)return{isValid:!0,cartItem:n,count:0};if(this.customizationGroupList.length>0){var o=j(this.customizationGroupList,this.customizationItemList);if(!o.isValid)return{isValid:!1,errMsg:o.errMsg}}var r=this._checkProductCount(t);if(!r.isValid)return r}return{isValid:!0,cartItem:n,count:t}}},{key:"getAddToCartParams",value:function(t,e){var i=this.sku,n=this.skuId,o=this.product,r=this.skuList,u=this.selectedSpecs,c=this.negativeStockSaleEnabled,s=this.productSpecGroupList,a=this.customizationItemList,l=this.customizationGroupList,d=this.perOrderMinLimit,m=u.indexOf(""),f=x(null==o?void 0:o.status,null==o?void 0:o.has_stock),h=T(null==o?void 0:o.status,null==o?void 0:o.has_stock);if(0!==r[0].item_ids.length&&m>=0)return{isValid:!1,errMsg:"请选择".concat(s[m].title)};if(!f&&!c)return{isValid:!1,errMsg:h};if(l.length>0){var p=j(l,a);if(!p.isValid)return{isValid:!1,errMsg:p.errMsg}}var v=z(a);return{isValid:!0,params:{productId:t,promotionActivityProductId:null!=i&&i.is_promotion_activity?e:void 0,skuId:n,count:-1!==d?d:1,productCustomizationItemList:v}}}},{key:"getSalePrice",value:function(){var t=N(this.customizationGroupList,this.customizationItemList);return this.salePrice+t}},{key:"getOriginalPrice",value:function(){if(_(this.originalPrice)||this.originalPrice<=0)return this.originalPrice;var t=N(this.customizationGroupList,this.customizationItemList);return this.originalPrice+t}},{key:"getMemberPrice",value:function(){if(!(_(this.memberPrice)||this.memberPrice<=0)){var t=N(this.customizationGroupList,this.customizationItemList);return this.memberPrice+t}}},{key:"getSelectedSpecAndCustomization",value:function(){var t=this.selectedSpecs.join("、"),i=e.flattenDeep(this.customizationItemList);t=R(t,i);var n=F(i);return _(t)&&_(n)?"":_(t)||_(n)?t||n:"".concat(t,"、").concat(n)}},{key:"buildCartCountParams",value:function(){var t=z(this.customizationItemList);return{channel1_type:this.channel1Type,checked:1,sku_id:this.skuId,sku_type:this._getSkuType(),product_customization_item_list:JSON.stringify(t),cart:1}}},{key:"buildMemberPriceParams",value:function(){if(this.skuId)return{sku_id:this.skuId,sku_type:this._getSkuType()}}},{key:"_initProductData",value:function(t){var i=t.product,n=t.promotionActivityProduct,o=t.skuList,r=t.productCover,u=t.productSpecGroupList,c=t.productCustomizationGroupList,s=E(u),a=L(u),l=I(o,s,this.negativeStockSaleEnabled),d=P(u,r),m=O(u),f=M(c||[]);this.product=i,this.promotionActivityProduct=n,this.specImage=d,this.skuList=o,this.skuListAfter=l,this.selectedSpecs=e.fill(new Array(a.length),""),this.productSpecGroupList=a,this.specList=u,this.activitySpecList=m,this.customizationGroupList=f,this.customizationItemList=c?V(f):[]}},{key:"_updateSkuData",value:function(t){var e=t.id,i=t.stock_count,n=t.per_order_min_limit,o=t.per_order_max_limit,r=-1===n?1:Math.min(n,i),u=-1===o?i:Math.min(o,i);this.sku=t,this.skuId=e,this.stockCount=i,this.salePrice=t.sale_price,this.originalPrice=t.original_price,this.minCount=r,this.maxCount=u,this.perOrderMinLimit=n,this.perOrderMaxLimit=o,this._findSkuCartItem(e)}},{key:"_checkProductCount",value:function(t){var e=this.minCount,i=this.maxCount,n=this.stockCount,o=this.perOrderMinLimit,r=this.negativeStockSaleEnabled;return t<e||t<o?{isValid:!1,errMsg:-1!==o?"该商品 ".concat(o," 件起售哦"):"购买数量至少 ".concat(e," 件")}:t>i&&!r?{isValid:!1,errMsg:t>n?"库存不足":"该商品最多购买 ".concat(i," 件哦")}:{isValid:!0}}},{key:"_selectSpec",value:function(t,e,i){var n=this.selectedSpecs;return 0!==this.productSpecGroupList.length&&(!(n[i]===e||!t)&&(n[i]=e,this.selectedSpecs=n.slice(),!0))}},{key:"_notifyChange",value:function(){this.onChange()}},{key:"_getSkuType",value:function(){var t;return null!==(t=this.sku)&&void 0!==t&&t.is_promotion_activity?1:0}},{key:"_findSkuCartItem",value:function(t){var i=this,n=this.cartList;if(!_(n)){var o=this.product,r=this.promotionActivityProduct,u=this.customizationItemList,c=e.find(n,function(n){var c=o.id,s=o.code,a=n.product,l=n.external_product;if(!(l?l.id===(null==r?void 0:r.id):c?a.id===c:a.code===s))return!1;var d=t||i.skuId;if(!d)return!0;var m=n.sku,f=n.external_sku;if(!(f?f.id===d:m.id===d))return!1;var h=n.product_customization_item_list||[];return!(!_(u)||!_(h))||D(e.flattenDeep(u),h)});return c?e.cloneDeep(c):void 0}}},{key:"_updateSkuCartItem",value:function(){var t,e=this._findSkuCartItem(this.skuId);this.cartItem=e,this.cartCount=(null==e||null===(t=e.cart)||void 0===t?void 0:t.count)||0}}])}(),ut=function(){return s(function t(e){c(this,t),a(this,"product",{}),a(this,"specImage",void 0),a(this,"skuId",0),a(this,"sku",void 0),a(this,"count",1),a(this,"stockCount",0),a(this,"minCount",1),a(this,"maxCount",1),a(this,"perOrderMinLimit",-1),a(this,"perOrderMaxLimit",-1),a(this,"skuList",[]),a(this,"skuListAfter",[]),a(this,"selectedSpecs",[]),a(this,"productSpecGroupList",[]),a(this,"specList",[]),a(this,"customizationGroupList",[]),a(this,"customizationItemList",[]),a(this,"isScrollable",!1);var i=e.productData,n=e.initSkuId,o=e.customizationItemList,r=e.exchangeRate,u=void 0===r?1e4:r,s=e.channel1Type,l=e.onChange;this.exchangeRate=u,this.channel1Type=s,this.onChange=l,this._initCustomizationItemList=o,this._initProductData(i,n)},[{key:"getView",value:function(){return{product:this.product,specImage:this.specImage,skuListAfter:this.skuListAfter,selectedSpecs:this.selectedSpecs,productSpecGroupList:this.productSpecGroupList,customizationGroupList:this.customizationGroupList,customizationItemList:this.customizationItemList,count:this.count,isScrollable:this.isScrollable,salePrice:this._formatSalePrice()}}},{key:"handleSelectSpecs",value:function(t,i,n){var o,r=this,u=this.specList,c=this.skuListAfter,s=this.selectedSpecs;if(this.productSpecGroupList.length>0){if(s[n]===i||!t)return;s[n]=s[n]===i?"":i,this.selectedSpecs=s.slice()}s.indexOf("")<0&&(e.find(c,function(t){var i=e.isEqual(t.specs,s);return i&&r._updateSkuData(t),i}),void 0!==(null===(o=u[0])||void 0===o?void 0:o.items[0].image)&&u[0].items.forEach(function(t){t.name===s[0]&&(r.specImage=t.image)}));this._notifyChange()}},{key:"handleCustomizationItemListSelect",value:function(t){this.customizationItemList=t,this._notifyChange()}},{key:"getSelectedSpecAndCustomization",value:function(){var t=this.selectedSpecs.join("、"),i=e.flattenDeep(this.customizationItemList);t=R(t,i);var n=F(i);return _(t)&&_(n)?"":_(t)||_(n)?t||n:"".concat(t,"、").concat(n)}},{key:"handleProductCountChange",value:function(t,e){var i=this.selectedSpecs,n=this.customizationItemList,o=this.customizationGroupList,r=this.perOrderMinLimit;if(i.indexOf("")<0){if(t>0){if("CHANGE_TYPE_DECREASE"===e&&-1!==r&&t<r)return{isValid:!1};var u=j(o||[],n||[]);if(!u.isValid)return{isValid:!1,errMsg:u.errMsg};var c=this._checkProductCount(t);if(!c.isValid)return c}return{isValid:!0}}return{isValid:!1,errMsg:"请选择规格"}}},{key:"handleSubmit",value:function(){var t=this.sku,e=this.count,i=this.product,n=this.skuList,o=this.selectedSpecs,r=this.productSpecGroupList,u=this.customizationItemList,c=this.customizationGroupList,s=o.indexOf(""),a=x(null==i?void 0:i.status,null==i?void 0:i.has_stock),l=T(null==i?void 0:i.status,null==i?void 0:i.has_stock);if(0===n[0].item_ids.length||s<0){if(!a)return{isValid:!1,errMsg:l};if(!_(c)){var d=j(c,u||[]);if(!d.isValid)return{isValid:!1,errMsg:d.errMsg}}return{isValid:!0,data:{sku:t,count:e,customizationItemList:u}}}return{isValid:!1,errMsg:"请选择".concat(r[s].title)}}},{key:"setScrollable",value:function(t){this.isScrollable=t,this._notifyChange()}},{key:"_initProductData",value:function(t,i){var n,o=this,r=t.product,u=t.skuList,c=t.productCover,s=t.productSpecGroupList,a=t.productCustomizationGroupList,l=E(s),d=L(s),m=I(u,l),f=P(s,c),h=M(a||[]),p=V(h);if(this.product=r,this.specImage=f,this.skuList=u,this.skuListAfter=m,this.selectedSpecs=e.fill(new Array(d.length),""),this.productSpecGroupList=d,this.specList=s,this.customizationGroupList=h,this.customizationItemList=p,!_(this._initCustomizationItemList)){var v=U(h,e.flattenDeep(this._initCustomizationItemList));this.customizationGroupList=v.customizationGroupList,this.customizationItemList=v.selectedCustomizationItemList}if(1!==r.spec_type){var k=0;_(i)||-1===(k=e.findIndex(m,function(t){return t.id===i}))&&(k=0),null===(n=m[k])||void 0===n||n.specs.forEach(function(t,e){o.handleSelectSpecs(!0,t,e)})}else this._updateSkuData(u[0])}},{key:"_updateSkuData",value:function(t){var e=t.id,i=t.stock_count,n=t.per_order_min_limit,o=t.per_order_max_limit,r=-1===n?1:Math.min(n,i),u=-1===o?i:Math.min(o,i);this.sku=t,this.skuId=e,this.stockCount=i,this.minCount=r,this.maxCount=u,this.perOrderMinLimit=n,this.perOrderMaxLimit=o}},{key:"_checkProductCount",value:function(t){var e=this.minCount,i=this.maxCount,n=this.stockCount,o=this.perOrderMinLimit;return t<e||t<o?-1!==o?{isValid:!1,errMsg:"该商品 ".concat(o," 件起售哦")}:{isValid:!1,errMsg:"购买数量至少 ".concat(e," 件")}:t>i?t>n?{isValid:!1,errMsg:"库存不足"}:{isValid:!1,errMsg:"该商品最多购买 ".concat(i," 件哦")}:{isValid:!0}}},{key:"_formatSalePrice",value:function(){return N(this.customizationGroupList||[],this.customizationItemList||[])}},{key:"_notifyChange",value:function(){this.onChange()}}])}(),ct=a(a(a({},1,"优惠券为草稿状态"),3,"优惠券已下线"),4,"优惠券已过期"),st=f(f({},ct),{},a(a({},5,"优惠券已注销"),6,"优惠券已锁定")),at="extra",lt="reason",dt="none",mt="请选择优惠券",ft="deadline",ht="validity",pt=[1,2,3,4,5,6,0],vt={1:"一",2:"二",3:"三",4:"四",5:"五",6:"六",0:"日"},_t=[1,2,3,4,5],kt=[6,0];function Ct(t){if(Array.isArray(t))return t.map(function(t){return Number(t)}).filter(function(t){return Number.isFinite(t)&&t>=0});if("string"==typeof t&&t)try{var e=JSON.parse(t);if(Array.isArray(e))return Ct(e)}catch(e){return t.split(",").map(function(t){return Number(t)}).filter(function(t){return Number.isFinite(t)&&t>=0})}return[]}var yt=function(t,e){if(t.length!==e.length)return!1;var i=new Set(e);return t.every(function(t){return i.has(t)})},St=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t,e){return e===t+1};if(!t.length)return[];for(var i=[[t[0]]],n=1;n<t.length;n++){var o=t[n-1],r=t[n];e(o,r)?i[i.length-1].push(r):i.push([r])}return i},bt=function(t,e){var i=pt.indexOf(t),n=pt.indexOf(e);return i>=0&&n===i+1},gt=function(t,e,i){var n=[];return t.forEach(function(t){t.length>=3?n.push(e(t[0],t[t.length-1])):t.forEach(function(t){n.push(i(t))})}),n};function Lt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.repeatType,i=void 0===e?0:e,n=t.repeatValue,o=Ct(void 0===n?[]:n);return 1===i?function(t){if(!t.length)return"";if(yt(t,_t))return"工作日";if(yt(t,kt))return"周六日";var e=pt.filter(function(e){return t.includes(e)}),i=St(e,bt);if(!i.some(function(t){return t.length>=3})){var n=e.map(function(t){return vt[t]});return"每周".concat(n.join("、"))}return gt(i,function(t,e){return"周".concat(vt[t],"到周").concat(vt[e])},function(t){return"周".concat(vt[t])}).join("、")}(o):2===i?function(t){if(!t.length)return"";var e=p(new Set(t)).sort(function(t,e){return t-e}),i=St(e);return i.some(function(t){return t.length>=3})?gt(i,function(t,e){return"".concat(t," - ").concat(e,"号")},function(t){return"".concat(t,"号")}).join("、"):"每月".concat(e.join(", "),"号")}(o):""}function It(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=[],i=Number(t.daily)||0,n=Number(t.weekly)||0,o=Number(t.monthly)||0;return i>0&&e.push("每日".concat(i,"次")),n>0&&e.push("每周".concat(n,"次")),o>0&&e.push("每月".concat(o,"次")),e.length?e.join("、"):"不限制"}function Et(t,e){return null!=t&&null!=e&&String(t)===String(e)}function Pt(t){return null!=t&&!1!==t&&0!==t&&("string"==typeof t?t.trim().length>0:!_(t))}function Ot(t){return!Pt(t.availableError)&&(null==t.status||""===t.status||2===Number(t.status))}function xt(t){return Pt(t.availableError)?String(t.availableError):st[Number(t.status)]||""}function Tt(t,e){var i=Array.isArray(t)?t:[],n=[];return i.forEach(function(t){var i=e?e(t):t;if(i&&null!=i.id){var o=f(f({},i),{},{original:void 0!==i.original?i.original:t});n.push(o)}}),n.sort(function(t,e){return Number(Ot(e))-Number(Ot(t))})}function At(t){return 1===Number(t.couponType)}function zt(t){if(_(t.couponValue))return"";if(At(t)){var e=o.formatDiscount(Number(t.couponValue));return e&&"NaN折"!==e?e.endsWith("折")?e.slice(0,-1):e:""}return qt(o.formatAmount(t.couponValue,""))}function Nt(t){return At(t)||_(t.couponValue)?"":"¥"}function Dt(t){return At(t)&&!_(t.couponValue)?"折":""}function Mt(t){var e=Number(t.thresholdType),i=Number(t.thresholdValue)||0;return i?2===e?"满".concat(i,"件"):1===e?"满".concat(qt(o.formatAmount(i,"")),"元"):"无门槛":"无门槛"}var Vt=864e5;function Gt(t){return t?o.formatDateTime(Number(t)):""}function Ut(t){if(1===Number(t.effectiveEndType))return"长期有效";var e=Gt(function(t){var e=Number(t.effectiveEndTime);if(Number.isFinite(e)&&e>0)return e;var i=Number(t.effectiveEndDays);if(Number.isFinite(i)&&!(i<=0)){var n=Number(t.effectiveStartType),o=Number(t.effectiveStartTime);return 2===n&&Number.isFinite(o)&&o>0?o+i*Vt:Date.now()+i*Vt}}(t));return e||"长期有效"}function jt(t){var e=Number(t.effectiveStartType)||1,i=Number(t.effectiveEndType),n=Gt(t.effectiveStartTime),o=Gt(t.effectiveEndTime),r=t.effectiveEndDays;if(1===e){if(1===i)return"自获取后永久有效";if(2===i)return o?"自获取后截止".concat(o,"期间有效"):"";if(3===i)return r?"自获取后".concat(r,"天内有效"):""}if(2===e){if(1===i)return n?"".concat(n,"起永久有效"):"";if(2===i)return n&&o?"".concat(n,"至").concat(o,"有效"):"";if(3===i)return n&&r?"".concat(n,"起").concat(r,"天内有效"):""}return""}function wt(t){return t===ht?ht:ft}function Rt(t){return Lt({repeatType:t.availableRepeatType,repeatValue:t.availableRepeatValue})||"每天"}function Ft(t){var e=Ct(t.availableMinuteSegments);return e.length&&o.formatMinuteSegments(e)||"全天"}function Yt(t){return It({daily:t.useLimitCountDaily,weekly:t.useLimitCountWeekly,monthly:t.useLimitCountMonthly})}function qt(t){return String(t).replace(/\.00$/,"")}function Bt(t){return t.label?"".concat(t.label,":").concat(t.value):t.value}function Ht(t,e){var i=[],n=Mt(t);if(n&&i.push({label:"使用门槛",value:n}),wt(e)===ht){var o=jt(t);return o&&i.push({label:"有效期",value:o}),i}var r=Ut(t);return r&&i.push({label:"过期时间",value:r}),i}function Xt(t){return null!=(e=t.availableRepeatType)&&""!==e&&!Number.isNaN(Number(e))||!_(Ct(t.availableRepeatValue))||!_(Ct(t.availableMinuteSegments));var e}function Wt(t){return null!=t.useLimitCountDaily||null!=t.useLimitCountWeekly||null!=t.useLimitCountMonthly}function Kt(t){var e=String(t).match(/^(.+?)[::](.*)$/);return e&&e[1]&&""!==e[2]?{label:e[1].trim(),value:e[2].trim()}:{label:"",value:String(t)}}function Jt(t){var e=$t(t);if(e===at)return t.extraLines&&t.extraLines.length>0?t.extraLines.map(Kt):function(t){var e=[];return Xt(t)&&(e.push({label:"可用日期",value:Rt(t)}),e.push({label:"可用时间",value:Ft(t)})),Wt(t)&&e.push({label:"使用限制",value:Yt(t)}),e}(t);if(e===lt){var i=xt(t);if(i)return[{label:"本单不可用原因",value:i}]}return[]}function $t(t){if(Ot(t)){var e=!!(t.extraLines&&t.extraLines.length>0),i=Xt(t)||Wt(t);return e||i?at:dt}return _(xt(t))?dt:lt}function Qt(t){return Jt(t).map(function(e){return $t(t)===lt?e.value:Bt(e)})}function Zt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=wt(e.expireMode);return{coupon:t,selected:!!e.selected,expanded:!!e.expanded,available:Ot(t),amountPrefix:Nt(t),amountValue:zt(t),amountSuffix:Dt(t),title:t.title||"",contentLines:Ht(t,i).map(Bt),expandType:$t(t),expandLines:Qt(t)}}var te=function(){return s(function t(e){c(this,t),a(this,"list",[]),a(this,"expandedIds",[]),a(this,"exclusiveExpand",!1),a(this,"onChange",function(){}),this.formatItem=e.formatItem,this.exclusiveExpand=!!e.exclusiveExpand,this.expireMode=e.expireMode,this.onChange=e.onChange,this.preferredSelectedId=this._normalizeSelectedId(e.value),e.list&&(this.list=Tt(e.list,this.formatItem)),this.selectedId=this._pickValidSelectedId(this.preferredSelectedId)},[{key:"setList",value:function(t){var e=this;this.list=Tt(t,this.formatItem),this._syncSelectedId(),this.expandedIds=this.expandedIds.filter(function(t){return e._findCoupon(t)}),this._notifyChange()}},{key:"appendList",value:function(t){var e=Tt(t,this.formatItem);this.list=Tt([].concat(p(this.list),p(e))),this._syncSelectedId(),this._notifyChange()}},{key:"getView",value:function(){var t=this,e=this._findCoupon(this.selectedId);return{items:this.list.map(function(e){return t._toViewItem(e)}),selectedId:this.selectedId,selectedCoupon:e}}},{key:"select",value:function(t){var e=this._findCoupon(t);if(e){if(!Ot(e))return $t(e)===lt&&this._setExpanded(t,!0),void this._notifyChange();this.selectedId=Et(this.selectedId,t)?void 0:t,this.preferredSelectedId=this.selectedId,this._notifyChange()}}},{key:"toggleExpand",value:function(t){if(this._findCoupon(t)){var e=this._isExpanded(t);this._setExpanded(t,!e),this._notifyChange()}}},{key:"confirm",value:function(){var t=this._findCoupon(this.selectedId);return t&&Ot(t)?{isValid:!0,coupon:t}:{isValid:!1,errMsg:mt}}},{key:"_toViewItem",value:function(t){return Zt(t,{selected:Et(t.id,this.selectedId),expanded:this._isExpanded(t.id),expireMode:this.expireMode})}},{key:"_findCoupon",value:function(t){var e=this._normalizeSelectedId(t);if(null!=e)return this.list.find(function(t){return Et(t.id,e)})}},{key:"_normalizeSelectedId",value:function(t){if(null!=t&&""!==t&&0!==t&&"0"!==t)return t}},{key:"_syncSelectedId",value:function(){var t;this.selectedId=this._pickValidSelectedId(null!==(t=this._normalizeSelectedId(this.selectedId))&&void 0!==t?t:this.preferredSelectedId)}},{key:"_pickValidSelectedId",value:function(t){var e=this._findCoupon(t);if(e&&Ot(e))return e.id}},{key:"_isExpanded",value:function(t){return this.expandedIds.some(function(e){return Et(e,t)})}},{key:"_setExpanded",value:function(t,e){if(e)return this.exclusiveExpand?void(this.expandedIds=[t]):void(this._isExpanded(t)||(this.expandedIds=this.expandedIds.concat(t)));this.expandedIds=this.expandedIds.filter(function(e){return!Et(e,t)})}},{key:"_notifyChange",value:function(){this.onChange()}}])}();t.COUPON_AVAILABLE_REPEAT_TYPE_DAILY=0,t.COUPON_AVAILABLE_REPEAT_TYPE_MONTHLY=2,t.COUPON_AVAILABLE_REPEAT_TYPE_WEEKLY=1,t.COUPON_CONFIRM_EMPTY_MSG=mt,t.COUPON_EFFECTIVE_END_TYPE_EXTEND=3,t.COUPON_EFFECTIVE_END_TYPE_FOREVER=1,t.COUPON_EFFECTIVE_END_TYPE_FUTURE=2,t.COUPON_EFFECTIVE_START_TYPE_FUTURE=2,t.COUPON_EFFECTIVE_START_TYPE_NOW=1,t.COUPON_EXPAND_TYPE_EXTRA=at,t.COUPON_EXPAND_TYPE_NONE=dt,t.COUPON_EXPAND_TYPE_REASON=lt,t.COUPON_EXPIRE_MODE_DEADLINE=ft,t.COUPON_EXPIRE_MODE_VALIDITY=ht,t.COUPON_STATUS_CANCELED=5,t.COUPON_STATUS_ENABLED=2,t.COUPON_STATUS_EXPIRED=4,t.COUPON_STATUS_LOCKED=6,t.COUPON_STATUS_PENDING=1,t.COUPON_STATUS_UNAVAILABLE_ERROR=st,t.COUPON_STATUS_USED=3,t.COUPON_TEMPLATE_STATUS_DRAFT=1,t.COUPON_TEMPLATE_STATUS_EXPIRED=4,t.COUPON_TEMPLATE_STATUS_OFFLINE=3,t.COUPON_TEMPLATE_STATUS_ONLINE=2,t.COUPON_TEMPLATE_STATUS_UNAVAILABLE_ERROR=ct,t.COUPON_THRESHOLD_TYPE_AMOUNT=1,t.COUPON_THRESHOLD_TYPE_COUNT=2,t.COUPON_TYPE_AMOUNT=2,t.COUPON_TYPE_DISCOUNT=1,t.COUPON_TYPE_FREIGHT=3,t.ChildCustomSelector=ut,t.ComboSpecSelector=ot,t.CouponSelector=te,t.CustomSpecSelector=rt,t.SpecSelector=C,t.calculateSelectedComboPrice=B,t.calculateSelectedCustomizationPrice=N,t.checkComboGroupItemCanPlusCount=K,t.checkComboGroupItemIsCanChangeSelectCheckbox=function(t,e){var i=t.items,n=t.min_count,o=t.max_count,r=0;if(i.forEach(function(t,e){1===t.selected&&r++}),2===e){if(1===n&&r<=1)return!1}else if(o>1&&r>=o)return!1;return!0},t.checkComboItemIsFixedSelect=J,t.checkComboItemIsUseSelectCheckbox=function(t){return 2!==t.selectable&&(!$(t)&&!Q(t))},t.checkComboItemIsUseSelectCount=Q,t.checkComboItemIsUseSelectSkuDialog=Z,t.checkCustomizationItemCanPlusCount=function(t){var e=t.max_count,i=0;return t.items.forEach(function(t){1===t.selected&&(i+=t.selected_count)}),-1===e||i<e},t.checkCustomizationItemIsDisabledSelected=function(t){var e=t.selected;return 2===t.selectable&&2===e},t.checkCustomizationItemIsFixedSelected=function(t){var e=t.selected;return 2===t.selectable&&1===e},t.checkCustomizationItemIsUseSelectCount=function(t){var e=t.selectable,i=t.min_count,n=t.max_count;return 1===e&&i!==n&&n>1},t.checkCustomizationItemList=j,t.checkCustomizationItemListEqual=D,t.checkGroupCanMinusCount=tt,t.checkHasChildren=$,t.checkIsFixedSelectNeedSelectSku=function(t){var e=t.selected;return 1!==t.selectable&&2!==e&&Z(t)},t.checkIsUseSelectSkuBtn=function(t){var e=t.combo_sku,i=t.combo_product;return 2===(null==i?void 0:i.select_type)&&!e},t.checkItemCanMinusCount=function(t,e){var i=e.count,n=e.min_count,o=J(e),r=tt(t);return o?i>n:r},t.checkItemCanPlusCount=function(t,e){var i=e.selected,n=e.count,o=e.max_count,r=K(t);return r&&2!==i?n<o:r},t.checkProductOnSale=x,t.checkSkuComboItemListEqual=X,t.checkUseReducePlusBtn=function(t){var e=t.combo_type,i=t.select_type;return!(2===e)&&1===i},t.findCustomizationSkuCartItem=function(t,i){if(!_(i)){var n=t.skuId,o=t.product,r=t.promotionActivityProduct,u=t.customizationItemList,c=e.find(i,function(t){var i=o.id,c=o.code,s=t.product,a=t.external_product;if(!(a?a.id===(null==r?void 0:r.id):i?s.id===i:s.code===c))return!1;if(!n)return!0;var l=t.sku,d=t.external_sku;if(!(d?d.id===n:l.id===n))return!1;var m=t.product_customization_item_list||[];return!(!_(u)||!_(m))||D(e.flattenDeep(u),m)});return c?e.cloneDeep(c):void 0}},t.findProductCartList=function(t,e,i){var n={cartList:[],cartCount:0},o=e.id,r=e.code;return t.forEach(function(t){var e=t.product,u=t.external_product;t.error||(i?(null==u?void 0:u.id)===i&&(n.cartList.push(t),n.cartCount+=t.cart.count):o?e.id===o&&(n.cartList.push(t),n.cartCount+=t.cart.count):e.code===r&&(n.cartList.push(t),n.cartCount+=t.cart.count))}),n},t.formatAvailableRepeatDateText=Lt,t.formatAvailableRepeatText=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.repeatType,n=void 0===e?0:e,o=t.repeatValue,r=void 0===o?[]:o,u=t.minuteSegments,c=void 0===u?[]:u,s=Lt({repeatType:n,repeatValue:r}),a=i.formatMinuteSegments(Ct(c));return"".concat(s).concat(a)||"全天"},t.formatComboGroupItemSelectTips=function(t){var i=t.items,n=t.repeatable,o=t.min_count,r=t.max_count;if(e.every(i,function(t){return 2===t.selectable}))return"";var u=[];o===r?u.push("请选择".concat(o,"项")):(o>0&&u.push("至少选择".concat(o,"项")),r>0&&u.push("最多可选".concat(r,"项"))),1===n&&u.push("可重复选");var c=0;return i.forEach(function(t){1===t.selected&&(c+=t.count)}),c>0&&u.push("已选".concat(c)),u.join(",")},t.formatComboPrice=H,t.formatComboSkuAndCustomizationName=function(t){var i=t.combo_sku,n=t.combo_customization_item_list;if(_(i))return"";var o=R(i.name,e.flattenDeep(n)),r=F(e.flattenDeep(n));return r&&(o="".concat(o,"、").concat(r)),o},t.formatCountTypeUnit=w,t.formatCouponAmountPrefix=Nt,t.formatCouponAmountSuffix=Dt,t.formatCouponAmountValue=zt,t.formatCouponAvailableDateText=Rt,t.formatCouponAvailableTimeText=Ft,t.formatCouponExpireText=Ut,t.formatCouponKvText=Bt,t.formatCouponList=Tt,t.formatCouponThreshold=Mt,t.formatCouponUseLimitText=Yt,t.formatCouponValidityText=jt,t.formatCouponViewItem=Zt,t.formatCustomizationCountType=F,t.formatCustomizationGroupItemSelectTips=function(t){var e=t.items,i=t.min_count,n=t.max_count,o=[],r=w(t.customization.count_type);i===n?o.push("请选择".concat(i).concat(r)):(i>0&&o.push("至少选择".concat(i).concat(r)),n>0&&o.push("最多可选".concat(n).concat(r)));var u=0;return e.forEach(function(t){u+=t.selected_count}),u>0&&o.push("已选".concat(u).concat(r)),o.join(",")},t.formatCustomizationGroupList=M,t.formatCustomizationInfo=function(t){var e=[];return _(t)?"":(t.map(function(t){var i=t.name,n=t.count,o=2===t.count_type;e.push("".concat(i).concat(o?" x".concat(n):""))}),e.join("、"))},t.formatCustomizationPrice=function(t,e,n){if(-1===t)return t;var o=N(e,n||[]);return i.plusNumber(t,o)},t.formatIncreaseSalePrice=function(t){var e=t.increase_sale_price;return e>0?"¥".concat(o.formatAmount(e,"")):""},t.formatInitCustomizationItemList=V,t.formatPriceRange=function(t){var e=t.end_price,n=t.start_price;return n===e?"¥".concat(i.moneyToDisplay(n)):"¥".concat(i.moneyToDisplay(n),"~").concat(i.moneyToDisplay(e))},t.formatProductBuyText=function(t){var e=t.combo_type,i=t.select_type;return 2===e?"选套餐":2===i?"选规格":"加入购物车"},t.formatProductComboChildrenSkuList=function(t,i){var n=[];return i.forEach(function(i){var o=i.combo_sku,r=i.min_count,u=i.max_count,c=e.find(t,function(t){return t.id===o.id});if(c){var s=f({},c);r>0&&(s.per_order_min_limit=r),u>0&&(s.per_order_max_limit=u),n.push(s)}}),n},t.formatProductSku=g,t.formatProductSkuList=function(t,i,n){return i?function(t,i,n){if(n)return t.map(function(t){var n=e.find(i,function(e){return e.mall_sku_id===t.id}),o=g(t);return n&&(o=b(t,n)),o});return i.map(function(i){return b(e.find(t,function(t){return t.id===i.mall_sku_id}),i)})}(t,i,n):t.map(function(t){return g(t)})},t.formatProductSpecGroupList=function(t,i,n){var o=[];return i.forEach(function(i,r){var u=i.items,c=f(f({},i),{},{items:[]});t.forEach(function(t){var i=t.item_ids,o=e.findIndex(u,function(t){return t.id===i[r]});if(-1!==o){var s=u[o];-1===e.findIndex(c.items,function(t){return t.id===s.id})&&(t.is_promotion_activity&&n&&(s.is_promotion_activity=!0),c.items.push(s))}}),o.push(c)}),o},t.formatProductStatus=T,t.formatSelectSkuComboItemList=it,t.formatSelectedCustomizationItemList=G,t.formatSkuComboItemList=function(t){return _(t)?"":t.map(function(t){return W(t)}).join("+")},t.formatSkuComboItemName=W,t.formatSkuListAfter=I,t.formatSkuListStockCount=function(t){var e=0;return t.forEach(function(t){e+=t.stock_count}),e},t.formatSkuNameWithCustomization=R,t.formatSkuPrice=function(t){var e=t.map(function(t){return t.sale_price}),n=Math.min.apply(Math,p(e))||0,o=Math.max.apply(Math,p(e))||0;return n===o?"¥".concat(i.moneyToDisplay(n)):"¥".concat(i.moneyToDisplay(n)," ~ ¥").concat(i.moneyToDisplay(o))},t.formatSkuWithPromotionActivitySaleInfoItem=b,t.formatSpecList=L,t.formatSpecObj=E,t.formatUseLimitText=It,t.formatWithExternalSku=function(t,e){if(_(e))return t;var i=f(f({},t),e);return-1===e.sale_price?i.sale_price=t.sale_price:i.original_price=t.sale_price,-1===e.stock_count&&(i.stock_count=t.stock_count),i},t.generateCartSkuComboItemList=function(t){return _(t)?[]:e.flattenDeep(t).map(function(t){var e={id:t.id,name:t.name,count:t.count,combo_group_name:t.combo_group_name};return t.combo_sku_id&&(e.combo_sku_id=t.combo_sku_id),t.combo_sku_name&&(e.combo_sku_name=t.combo_sku_name),_(t.combo_product_customization_item_list)||(e.combo_product_customization_item_list=t.combo_product_customization_item_list.map(function(t){return{id:t.id,name:t.name,count:t.count,count_type:t.count_type}})),e})},t.genereateCartProductCustomizationItemList=function(t,n){var o=[],r=0;return _(t)||_(n)||n.forEach(function(n){var u=n.items,c=n.customization;u.forEach(function(n){var u=n.id,s=n.customization_item,a=e.find(t,function(t){return t.id===u});a&&(o.push(f(f({},a),{},{name:s.name,count_type:c.count_type})),2===s.increase_type&&(r=i.plusNumber(r,i.timesNumber(s.increase_sale_price,a.count))))})}),{orderSkuCustomizationItemList:o,customizationSalePrice:r}},t.getActivitySpecList=O,t.getCouponContentLines=Ht,t.getCouponExpandKvLines=Jt,t.getCouponExpandLines=Qt,t.getCouponExpandType=$t,t.getSkuComboItemGroup=function(t){var e={};return t.forEach(function(t){var i=t.combo_group_name,n=e[i];n?n.push(t):e[i]=[t]}),Object.keys(e).map(function(t){return{comboGroupName:t,list:e[t]}})},t.getSpecImage=P,t.getSubmitComboItemList=Y,t.getSubmitComboItemListArr=q,t.getSubmitCustomizationItemList=A,t.getSubmitCustomizationItemListArr=z,t.handleComboGroupItemChildChange=function(t,i,n,o){var r=e.cloneDeep(t),u=i.sku,c=i.count,s=u.id,a=r.items[n];a.children.forEach(function(t){t.combo_sku.id===s?(t.selected=1,t.count=c):t.selected=2}),a.selected=1,null==o||o(r)},t.handleComboGroupItemComboSkuChange=function(t,i,n,o){var r,u,c=e.cloneDeep(t),s=i.sku,a=i.customizationItemList,l=c.items[n],d=Q(l);l.combo_sku={id:s.id,name:s.name,stock_count:null!==(r=null===(u=l.combo_sku)||void 0===u?void 0:u.stock_count)&&void 0!==r?r:y},a&&(l.combo_customization_item_list=a),d&&0===l.count&&(l.count=1),nt(c,1,n,o)},t.handleComboGroupItemSelected=nt,t.handleComboItemCountChange=function(t,i,n,o){var r=e.cloneDeep(t),u=r.items[n];u.count=i,u.selected=0===i?2:1,null==o||o(r)},t.handleCustomizationGroupItemCountChange=function(t,i,n,o){var r=e.cloneDeep(t),u=r.items[n];u.selected_count=i,u.selected=0===i?2:1,null==o||o(r)},t.handleCustomizationGroupItemSelectedChange=function(t,i,n,o){var r=e.cloneDeep(t),u=r.items[n],c=r.items,s=r.max_count,a=1===s,l=0;c.forEach(function(t,e){var o=t.count,r=t.selected,u=t.selected_count;e!==n?1===r&&(l+=u):1===i&&(l+=o)}),!a&&l>s||(a&&r.items.forEach(function(t,e){e!==n&&(t.selected=2,t.selected_count=0)}),u.selected=i,u.selected_count=1===i?u.count:0,null==o||o(r))},t.handleCustomizationItemCountChange=function(t,e,i,n){var o=e.items,r=t.min_count,u=t.max_count,c=t.customization_item,s=r,a=u,l=e.max_count,d=0;o.forEach(function(t){t.customization_item.id===c.id?d+=i:1===t.selected&&(d+=t.selected_count)}),-1!==l&&d>l||-1!==a&&i>a||(i<s?null==n||n(0):null==n||n(i))},t.handleCustomizationItemToggleSelected=function(t,e){var i=t.selected;1===t.selectable&&(null==e||e(1===i?2:1))},t.handleSelectComboSkuSubmit=function(t,e,i,n){e?null==i||i(t):null==n||n(t)},t.hasCouponAvailableRepeat=Xt,t.hasCouponUseLimit=Wt,t.isCouponDiscountBenefit=At,t.isFullDayMinuteSegment=function(t,e){return 0===t&&(1440===e||1439===e)},t.isSameCouponId=Et,t.parseCouponKvLine=Kt,t.parseCouponNumberList=Ct,t.reconstructComboGroupList=et,t.reconstructCustomizationItemList=U,t.resolveCouponAvailable=Ot,t.resolveCouponAvailableError=xt,t.setComboItemCountChange=function(t,e,i,n){var o=t.items,r=e.min_count,u=e.max_count,c=t.max_count,s=J(e),a=0;o.forEach(function(t){t.id===e.id?a+=i:1===t.selected&&(a+=t.count)}),-1!==c&&a>c||-1!==u&&i>u||i<0||a<0||s&&i<r||null==n||n(i)},t.setToggleComboItemSelecte=function(t,e,i){var n=1===t.selected?2:1;if(_(t.children)){var o=e.items,r=e.max_count;if(1===n&&r>1){var u=0;if(o.forEach(function(t){1===t.selected&&(u+=t.count)}),u>=r)return}null==i||i(n)}},t.toCouponViewItem=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=Tt([t],e.formatItem)[0];if(i)return Zt(i,{selected:e.selected,expanded:e.expanded,expireMode:e.expireMode})},t.validateComboGroupList=function(t,i){var n=!0,o="";return _(i)&&(i=it(t)),t.forEach(function(t,r){var u;if(n){var c=t.items,s=t.min_count,a=t.max_count,l=t.name;if(c.forEach(function(t,i){if(n){var r=t.count,u=t.min_count,c=t.selected,s=t.children,a=t.combo_sku,d=t.combo_product;if(2!==c)if(_(s)){if(d&&_(a))return n=!1,void(o="【".concat(l,"】:第").concat(i+1,"个商品,请选择规格"));r<u&&(n=!1,o="【".concat(l,"】:第").concat(i+1,"个商品,至少选择 ").concat(u," 件"))}else{_(e.find(s,function(t){return 1===t.selected}))&&(n=!1,o="【".concat(l,"】:第").concat(i+1,"个商品,请选择定制项"))}}}),n){var d=0;if(null===(u=i[r])||void 0===u||u.forEach(function(t){d+=t.count}),d<s)return n=!1,void(o="【".concat(l,"】:至少选择 ").concat(s," 件商品"));d>a&&(n=!1,o="【".concat(l,"】:最多选择 ").concat(a," 件商品"))}}}),o}});
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("lodash-es"),require("@yorkjs/hive")):"function"==typeof define&&define.amd?define(["exports","lodash-es","@yorkjs/hive"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["Hive-Biz"]={},t.lodashEs,t.hive)}(this,function(t,e,i){"use strict";function n(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}}),e.default=t,Object.freeze(e)}var o=n(i);function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=Array(e);i<e;i++)n[i]=t[i];return n}function u(t,e,i){return e=l(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,d()?Reflect.construct(e,i||[],l(t).constructor):e.apply(t,i))}function c(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e,i){return e&&function(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,v(n.key),n)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function a(t,e,i){return(e=v(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function d(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(d=function(){return!!t})()}function m(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,n)}return i}function f(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?m(Object(i),!0).forEach(function(e){a(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):m(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function h(t,e){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},h(t,e)}function p(t){return function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return r(t,e);var i={}.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?r(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}function _(t){if(null==t||e.isNaN(t))return!0;var i=!1;switch(Object.prototype.toString.call(t)){case"[object Object]":i=0===Object.keys(t).length;break;case"[object Array]":i=0===t.length;break;case"[object String]":0===t.trim().length&&(i=!0)}return i}var k=function(t){function e(t,i){var n;c(this,e);var o=[];return t.forEach(function(t,e){t.list.forEach(function(t){o.push("".concat(e,"_").concat(t))})}),a(n=u(this,e,[o]),"specList",[]),a(n,"specCombinationList",[]),n.specList=t,n.specCombinationList=i,n.initSpec(),n.initSameLevel(),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&h(t,e)}(e,t),s(e,[{key:"initSpec",value:function(){var t=this;this.specCombinationList.forEach(function(e,i){var n=e.specs.map(function(t,e){return"".concat(e,"_").concat(t)});t.fillInSpec(n,i+2)})}},{key:"initSameLevel",value:function(){var t=this,e=this.getCollection(this.vertex);this.specList.forEach(function(i,n){var o=[];i.list.forEach(function(t){var i="".concat(n,"_").concat(t);e.includes(i)&&o.push(i)}),t.fillInSpec(o,1)})}},{key:"getSpecsOptions",value:function(t){var e=[];if(t.some(Boolean)){var i=t.map(function(t,e){return t?"".concat(e,"_").concat(t):""}).filter(Boolean);e=this.getUnions(i)}else e=this.getCollection(this.vertex);return e}},{key:"fillInSpec",value:function(t,e){var i=this;t.forEach(function(n){i.setAdjoinVertexs(n,t,e)})}}])}(function(){return s(function t(e){c(this,t),a(this,"vertex",[]),a(this,"quantity",0),a(this,"adjoinArray",[]),this.vertex=e,this.quantity=this.vertex.length,this.adjoinArray=[],this.init()},[{key:"init",value:function(){this.adjoinArray=e.fill(new Array(this.quantity*this.quantity),0)}},{key:"setAdjoinVertexs",value:function(t,e,i){var n=this,o=this.vertex.indexOf(t);e.forEach(function(t,e){var r=n.vertex.indexOf(t),u=n.adjoinArray[o*n.quantity+r];"number"!=typeof u?n.adjoinArray[o*n.quantity+r].push(i):n.adjoinArray[o*n.quantity+r]=u>1?[u,i]:i})}},{key:"getVertexCol",value:function(t){var e=this,i=this.vertex.indexOf(t),n=[];return this.vertex.forEach(function(t,o){n.push(e.adjoinArray[i+e.quantity*o])}),n}},{key:"getCollection",value:function(t){var e=this,i=t.map(function(t){return e.getVertexCol(t)}),n=[];return i.forEach(function(e,i){e.some(function(t){return 0!==t})&&n.push(t[i])}),n}},{key:"getUnions",value:function(t){var e=this,i=t.map(function(t){return e.getVertexCol(t)}),n=[];return this.vertex.forEach(function(t,o){var r=i.map(function(t){return t[o]}).filter(function(t){return 1!==t});e.isItemEqual(r)&&n.push(t)}),n}},{key:"isItemEqual",value:function(t){if(t.includes(0))return!1;var e=-1;return t.length&&(t.some(function(t){return"number"==typeof t&&(e=t),"number"==typeof t}),-1===e)?this.isArrayUnions(t):t.every(function(t){return"number"==typeof t?t===e:t.includes(e)})}},{key:"isArrayUnions",value:function(t){return!!t.length&&t[0].some(function(e){return t.every(function(t){return t.includes(e)})})}}])}()),C=function(){return s(function t(e){c(this,t);var i=e.productSpecGroupList,n=e.skuListAfter,o=e.activitySpecList,r=void 0===o?[]:o;this.productSpecGroupList=i,this.skuListAfter=n,this.activitySpecList=r,this.specAdjoinMatrix=new k(i,n)},[{key:"isActivitySpec",value:function(t,i){return!_(this.activitySpecList)&&!!e.find(this.activitySpecList[t],function(t){return t.name===i})}},{key:"getSpecGroupStateList",value:function(t){var e=this,i=this.specAdjoinMatrix.getSpecsOptions(t);return this.productSpecGroupList.map(function(n,o){return{title:n.title,items:n.list.map(function(n){return{value:n,isEnabled:-1!==i.indexOf("".concat(o,"_").concat(n)),isActive:t[o]===n,isActivitySpec:e.isActivitySpec(o,n)}})}})}},{key:"getOptionSpecs",value:function(t){return this.specAdjoinMatrix.getSpecsOptions(t)}},{key:"toggleSpec",value:function(t,e,i,n){var o,r;if(!t)return n;var u=p(n),c=null!==(o=null===(r=this.productSpecGroupList[i])||void 0===r?void 0:r.list)&&void 0!==o?o:[];return-1!==u.indexOf(e)?u[i]="":(c.forEach(function(t){var e=u.indexOf(t);-1!==e&&(u[e]="")}),u[i]=e),u}},{key:"findMatchedSku",value:function(t){var e=t.filter(Boolean),i=this.productSpecGroupList.length;if(e.length===i)return this.skuListAfter.find(function(t){return e.every(function(e){return t.specs.includes(e)})})}},{key:"isAllSpecSelected",value:function(t){var e=this.productSpecGroupList.length;return t.filter(function(t){return!_(t)}).length===e}}])}(),y=1e7,S="decrease";function b(t,e){var i=f(f({},t),{},{id:e.activity_sku_id,origin_sku_id:t.id,is_promotion_activity:!0,is_set_activity_price:!1});return-1!==e.sale_price&&e.sale_price!==t.sale_price&&(i.original_price=t.sale_price,i.sale_price=e.sale_price,i.is_set_activity_price=!0),-1!==e.stock_count&&(i.stock_count=e.stock_count),i}function g(t){return f(f({},t),{},{origin_sku_id:t.id,is_promotion_activity:!1,is_set_activity_price:!1})}function L(t){return t.map(function(t){return{title:t.spec.name,list:t.items.map(function(t){return t.name})}})}function I(t,e,i){var n=[];return t.map(function(t){(i||t.stock_count>0)&&n.push(f(f({},t),{},{specs:t.item_ids.map(function(t){return e[t]})}))}),n}function E(t){var e={};return t.forEach(function(t){t.items.forEach(function(t){e[t.id]=t.name})}),e}function P(t,e){var i,n=e;0!==t.length&&(void 0!==(null===(i=t[0].items[0])||void 0===i?void 0:i.image)&&(n=t[0].items[0].image));return n}function O(t){var e=[];return t.forEach(function(t){var i=[];t.items.forEach(function(t){t.is_promotion_activity&&i.push(t)}),e.push(i)}),e}function x(t,e){return 1===t&&1===e}function T(t,e){return 1===t&&2===(arguments.length>2&&void 0!==arguments[2]?arguments[2]:2)?1===e?"销售中":"已售罄":"已下架"}function A(t){return t.map(function(t){return function(t){return e.pick(t,["id","count"])}(t)})}function z(t){return A(e.flattenDeep(t))}function N(t,n){var o=0,r=e.flattenDeep(n);return t.forEach(function(t){t.items.forEach(function(t){var n=t.id,u=t.customization_item,c=u.increase_type,s=u.increase_sale_price,a=e.find(r,function(t){return t.id===n});a&&2===c&&(o+=i.timesNumber(s,a.count))})}),o}function D(t,i){return t.length===i.length&&e.every(t,function(t){return e.find(i,function(e){return e.id===t.id&&e.count===t.count})})}function M(t){return t.map(function(t){var e=f(f({},t),{},{items:[]});return e.items=t.items.map(function(t){var e=t.count,i=t.selected,n=f(f({},t),{},{selected_count:0});return 1===i&&(n.selected_count=e),n}),e})}function V(t){return G(t)}function G(t){var e=[];return t.forEach(function(t){var i=[],n=t.items,o=t.customization;n.forEach(function(t){var e=t.id,n=t.count,r=t.selected,u=t.selected_count,c=t.customization_item;1===r&&i.push({id:e,name:c.name,count:u||n,count_type:o.count_type})}),e.push(i)}),e}function U(t,i){var n=[],o=e.cloneDeep(t).map(function(t){var o=e.cloneDeep(t.items),r=t.customization,u=[];return o.forEach(function(t){var n=t.id,o=t.count,c=t.selected,s=t.selectable,a=t.customization_item,l=e.find(i,function(e){return e.id===t.id});l?(u.push(l),t.selected_count=l.count,t.selected=1):2===s?1===c&&u.push({id:n,name:a.name,count:o,count_type:r.count_type}):(t.selected_count=0,t.selected=2)}),n.push(u),f(f({},t),{},{items:o})});return{isValid:j(o,n).isValid,customizationGroupList:o,selectedCustomizationItemList:n}}function j(t,e){var i=!0,n="";return t.forEach(function(t,o){var r=t.customization,u=t.min_count,c=t.max_count,s=w(r.count_type);if(i){var a=0;return e[o].forEach(function(t){a+=t.count}),a<u?(i=!1,n="【".concat(r.name,"】:至少选择 ").concat(u," ").concat(s),void(1===c&&(n="请选择【".concat(r.name,"】")))):a>c?(i=!1,void(n="【".concat(r.name,"】:最多选择 ").concat(c," ").concat(s))):void 0}}),{isValid:i,errMsg:n}}function w(t){return 1===t?"种":"份"}function R(t,i){var n=e.filter(i||[],function(t){return 1===t.count_type});if(_(n))return t||"";var o=n.map(function(t){return t.name}).join("、");return t?"".concat(t,"、").concat(o):o}function F(t){var i=e.filter(t||[],function(t){return 1!==t.count_type});return _(i)?"":i.map(function(t){return"".concat(t.name,"x").concat(t.count)}).join("、")}function Y(t){return t.map(function(t){return function(t){var i=e.pick(t,["id","count","combo_sku_id","combo_product_customization_item_list"]),n=i.combo_product_customization_item_list;return n&&(i.combo_product_customization_item_list=A(n)),i}(t)})}function q(t){return Y(e.flattenDeep(t))}function B(t,i){var n=0,r=e.flattenDeep(i);return t.forEach(function(t){t.items.forEach(function(t){var i=t.id,u=t.increase_sale_price,c=e.find(r,function(t){return t.id===i});c&&u>0&&(n+=o.timesNumber(u,c.count))})}),n}function H(t,e,i){if(-1===t)return t;var n=B(e,i||[]);return o.plusNumber(t,n)}function X(t,i){return t.length===i.length&&e.every(t,function(t){return e.find(i,function(e){if(e.id!==t.id||e.count!==t.count)return!1;if(e.combo_sku_id!==t.combo_sku_id)return!1;var i=e.combo_product_customization_item_list||[],n=t.combo_product_customization_item_list||[];return!(!_(n)||!_(i))||D(n,i)})})}function W(t){var e=t.name,i=t.combo_sku_name,n=t.combo_product_customization_item_list,o=e;if(n){var r=R(i,n);o=r?"".concat(e,"(").concat(r,")"):e;var u=F(n);u&&(o="".concat(o,"、").concat(u))}return o}function K(t){var e=t.items,i=t.max_count,n=0;return e.forEach(function(t){1===t.selected&&(n+=t.count)}),-1===i||n<i}function J(t){var e=t.selected,i=t.selectable;return 1===e&&2===i}function $(t){return!_(t.children)}function Q(t){var e=t.min_count,i=t.max_count;return e!==i&&i>1}function Z(t){var e=t.combo_product;return 2===(null==e?void 0:e.select_type)}function tt(t){var e=t.items,i=0;return e.forEach(function(t){1===t.selected&&(i+=t.count)}),i>0}function et(t,i){return _(i)?t:t.map(function(t){var n=t.items.map(function(t){var n=e.find(i,function(e){return e.id===t.id});if(!n)return 1===t.selectable&&(t.selected=2),t;var o=t.children,r=t.combo_product;if(!_(o))return o.forEach(function(t){t.combo_sku.id===n.combo_sku_id?(t.selected=1,t.count=n.count):t.selected=2}),t;if(r){var u,c;if(n.combo_sku_id)t.combo_sku={id:n.combo_sku_id,name:n.combo_sku_name,stock_count:null!==(u=null===(c=t.combo_sku)||void 0===c?void 0:c.stock_count)&&void 0!==u?u:y};n.combo_product_customization_item_list&&(t.combo_customization_item_list=[n.combo_product_customization_item_list])}return t.count=n.count,t.selected=1,t});return f(f({},t),{},{items:n})})}function it(t){return t.map(function(t){var i=[],n=t.name;return t.items.forEach(function(t){var o=t.id,r=t.name,u=t.count,c=t.selected,s=t.children,a=t.combo_sku,l=t.combo_sku_type,d=t.combo_customization_item_list;if(_(s)){if(2!==c)if(1!==l){if(a){var m={id:o,name:r,count:u,combo_sku_id:a.id,combo_sku_name:a.name,combo_group_name:n};d&&(m.combo_product_customization_item_list=e.flattenDeep(d)),i.push(m)}}else i.push({id:o,name:r,count:u,combo_group_name:n})}else{var f=e.find(s,function(t){return 1===t.selected});f&&i.push({id:o,name:"".concat(r,"(").concat(f.name,")"),combo_group_name:n,combo_sku_id:f.combo_sku.id,count:f.count})}}),i})}function nt(t,i,n,o){var r=e.cloneDeep(t),u=r.items[n],c=r.items,s=r.min_count,a=r.max_count,l=0;if(c.forEach(function(t){1===t.selected&&l++}),2===i){if(1===s&&l<=1)return void(null==o||o(r))}else if(1===a)r.items.forEach(function(t,e){e!==n&&(t.selected=2)});else if(l>=a)return void(null==o||o(r));u.selected=i,null==o||o(r)}var ot=function(){return s(function t(e){c(this,t),a(this,"product",{}),a(this,"specImage",void 0),a(this,"skuId",0),a(this,"sku",void 0),a(this,"skuList",[]),a(this,"skuListAfter",[]),a(this,"selectedSpecs",[]),a(this,"productSpecGroupList",[]),a(this,"specList",[]),a(this,"stockCount",0),a(this,"minCount",1),a(this,"maxCount",1),a(this,"perOrderMinLimit",-1),a(this,"perOrderMaxLimit",-1),a(this,"salePrice",0),a(this,"originalPrice",-1),a(this,"memberPrice",void 0),a(this,"skuComboGroupList",[]),a(this,"skuComboItemList",[]),a(this,"cartCount",0),a(this,"cartItem",void 0),a(this,"visibleComboInfo",!1),a(this,"isComponentLoading",!0),a(this,"_initSkuListAfter",[]),a(this,"_initSpecType",0),a(this,"_initSkuId",0),a(this,"_validateComboGroupList",function(){return""});var i=e.productData,n=e.cartList,o=e.channel1Type,r=e.negativeStockSaleEnabled,u=e.onChange,s=e.validateComboGroupList;this.cartList=n||[],this.channel1Type=o,this.negativeStockSaleEnabled=r,this.onChange=u,this._validateComboGroupList=s,this._initProductData(i)},[{key:"getInitialSkuId",value:function(){return this._initSkuId}},{key:"init",value:function(t){var i,n,o=this,r=this._initSpecType,u=this._initSkuListAfter,c=this._findSkuCartItem(),s=0;if(2===r&&!_(c)){var a=c,l=a.sku,d=a.external_sku,m=(null==d?void 0:d.id)||l.id;-1===(s=e.findIndex(u,function(t){return t.id===m}))&&(s=0)}this.cartItem=c,this.cartCount=(null==c||null===(i=c.cart)||void 0===i?void 0:i.count)||0;var f=u[s];if(1===r)return this._initSkuDetail(t),this._updateSkuData(f||this.skuList[0]),this.isComponentLoading=!1,void this._notifyChange();this._initSkuDetail(t),null===(n=u[s])||void 0===n||n.specs.forEach(function(t,e){o._selectSpec(!0,t,e)}),this.isComponentLoading=!1,this._notifyChange()}},{key:"syncCartList",value:function(t){this.cartList=t,this._refreshCartItem(),this._notifyChange()}},{key:"getView",value:function(){return{product:this.product,skuId:this.skuId,salePrice:this.getSalePrice(),originalPrice:this.getOriginalPrice(),memberPrice:this.getMemberPrice(),specImage:this.specImage,skuListAfter:this.skuListAfter,selectedSpecs:this.selectedSpecs,productSpecGroupList:this.productSpecGroupList,skuComboGroupList:this.skuComboGroupList,skuComboItemList:this.skuComboItemList,cartCount:this.cartCount,maxCount:this.maxCount,isComponentLoading:this.isComponentLoading,visibleComboInfo:this.visibleComboInfo}}},{key:"handleSelectSpecs",value:function(t,i,n){var o,r=this;if(!this._selectSpec(t,i,n)||this.selectedSpecs.indexOf("")>=0)return this._notifyChange(),{needFetchSkuDetail:!1,skuId:0};var u=e.find(this.skuListAfter,function(t){return e.isEqual(t.specs,r.selectedSpecs)});return u?(void 0!==(null===(o=this.specList[0])||void 0===o||null===(o=o.items[0])||void 0===o?void 0:o.image)&&this.specList[0].items.forEach(function(t){t.name===r.selectedSpecs[0]&&(r.specImage=t.image)}),this._notifyChange(),{needFetchSkuDetail:!0,skuId:u.id}):(this._notifyChange(),{needFetchSkuDetail:!1,skuId:0})}},{key:"updateSkuDetailData",value:function(t){this._initSkuDetail(t),this._notifyChange()}},{key:"updateMemberPrice",value:function(t){this.memberPrice=t,this._notifyChange()}},{key:"handleSelectComboData",value:function(t){this.skuComboItemList=t,this._refreshCartItem(),this._notifyChange()}},{key:"handleProductCountChange",value:function(t,e){var i=this.perOrderMinLimit,n=this.cartItem;if(this.selectedSpecs.indexOf("")>=0)return{isValid:!1,errMsg:"请选择规格"};if(t>0){if(e===S&&-1!==i&&t<i)return{isValid:!0,cartItem:n,count:0};var o=this._validateCombo();if(o)return{isValid:!1,errMsg:o};var r=this._checkProductCount(t);if(!r.isValid)return r}return{isValid:!0,cartItem:n,count:t}}},{key:"getAddToCartParams",value:function(t,e){var i=this.sku,n=this.skuId,o=this.product,r=this.skuList,u=this.selectedSpecs,c=this.negativeStockSaleEnabled,s=this.productSpecGroupList,a=this.skuComboItemList,l=this.perOrderMinLimit,d=u.indexOf(""),m=x(null==o?void 0:o.status,null==o?void 0:o.has_stock),f=T(null==o?void 0:o.status,null==o?void 0:o.has_stock);if(0!==r[0].item_ids.length&&d>=0)return{isValid:!1,errMsg:"请选择".concat(s[d].title)};if(!m&&!c)return{isValid:!1,errMsg:f};var h=this._validateCombo();return h?{isValid:!1,errMsg:h}:{isValid:!0,params:{productId:t,promotionActivityProductId:null!=i&&i.is_promotion_activity?e:void 0,skuId:n,count:-1!==l?l:1,skuComboItemList:a}}}},{key:"handleShowComboInfo",value:function(){_(e.flattenDeep(this.skuComboItemList))||(this.visibleComboInfo=!0,this._notifyChange())}},{key:"handleCloseComboInfo",value:function(){this.visibleComboInfo=!1,this._notifyChange()}},{key:"getSalePrice",value:function(){return H(this.salePrice,this.skuComboGroupList,this.skuComboItemList)}},{key:"getOriginalPrice",value:function(){return _(this.originalPrice)||this.originalPrice<=0?0:H(this.originalPrice,this.skuComboGroupList,this.skuComboItemList)}},{key:"getMemberPrice",value:function(){if(!(_(this.memberPrice)||this.memberPrice<=0))return H(this.memberPrice,this.skuComboGroupList,this.skuComboItemList)}},{key:"buildCartCountParams",value:function(){var t=q(this.skuComboItemList);return{channel1_type:this.channel1Type,checked:1,sku_id:this.skuId,sku_type:0,sku_combo_item_list:JSON.stringify(t),cart:1}}},{key:"buildMemberPriceParams",value:function(){if(this.skuId)return{sku_id:this.skuId,sku_type:0}}},{key:"_initProductData",value:function(t){var i=t.product,n=t.skuList,o=t.productCover,r=t.productSpecGroupList,u=E(r),c=L(r),s=I(n,u,this.negativeStockSaleEnabled),a=P(r,o);if(this.product=i,this.specImage=a,this.skuList=n,this.skuListAfter=s,this.selectedSpecs=e.fill(new Array(c.length),""),this.productSpecGroupList=c,this.specList=r,this._initSkuListAfter=s,this._initSpecType=i.spec_type,2===i.spec_type){var l=this._findSkuCartItem();if(_(l)){var d,m,f,h;this._initSkuId=null!==(d=null!==(m=null===(f=s[0])||void 0===f?void 0:f.id)&&void 0!==m?m:null===(h=n[0])||void 0===h?void 0:h.id)&&void 0!==d?d:0}else{var p,v,k,C,y=l,S=y.sku,b=y.external_sku,g=(null==b?void 0:b.id)||S.id,O=e.findIndex(s,function(t){return t.id===g});-1===O&&(O=0),this._initSkuId=null!==(p=null!==(v=null===(k=s[O])||void 0===k?void 0:k.id)&&void 0!==v?v:null===(C=n[0])||void 0===C?void 0:C.id)&&void 0!==p?p:0}}else{var x,T;this._initSkuId=null!==(x=null===(T=n[0])||void 0===T?void 0:T.id)&&void 0!==x?x:0}}},{key:"_initSkuDetail",value:function(t){var e,i=t.sku,n=t.sku_combo_group_list;this._updateSkuData(i);var o=et(n||[],null===(e=this.cartItem)||void 0===e?void 0:e.sku_combo_item_list);this.skuComboGroupList=o,this.skuComboItemList=it(o)}},{key:"_updateSkuData",value:function(t){var e,i=t.id,n=t.stock_count,o=t.per_order_min_limit,r=t.per_order_max_limit,u=-1===o?1:Math.min(o,n),c=-1===r?n:Math.min(r,n),s=this._findSkuCartItem(i);this.sku=t,this.skuId=i,this.stockCount=n,this.salePrice=t.sale_price,this.originalPrice=t.original_price,this.minCount=u,this.maxCount=c,this.perOrderMinLimit=o,this.perOrderMaxLimit=r,this.cartItem=s,this.cartCount=(null==s||null===(e=s.cart)||void 0===e?void 0:e.count)||0}},{key:"_checkProductCount",value:function(t){var e=this.minCount,i=this.maxCount,n=this.stockCount,o=this.perOrderMinLimit,r=this.negativeStockSaleEnabled;return t<e||t<o?{isValid:!1,errMsg:-1!==o?"该商品 ".concat(o," 件起售哦"):"购买数量至少 ".concat(e," 件")}:t>i&&!r?{isValid:!1,errMsg:t>n?"库存不足":"该商品最多购买 ".concat(i," 件哦")}:{isValid:!0}}},{key:"_selectSpec",value:function(t,e,i){var n=this.selectedSpecs;return 0!==this.productSpecGroupList.length&&(!(n[i]===e||!t)&&(n[i]=e,this.selectedSpecs=n.slice(),!0))}},{key:"_refreshCartItem",value:function(){var t,e=this._findSkuCartItem(this.skuId);this.cartItem=e,this.cartCount=(null==e||null===(t=e.cart)||void 0===t?void 0:t.count)||0}},{key:"_findSkuCartItem",value:function(t){var i=this.cartList,n=this.product,o=this.skuComboItemList,r=e.find(i,function(i){var r=n.id,u=n.code,c=i.product;if(!(r?c.id===r:c.code===u))return!1;if(!t)return!0;var s=i.sku,a=i.external_sku;if(!(a?a.id===t:s.id===t))return!1;var l=i.sku_combo_item_list||[];return!!_(o)||X(e.flattenDeep(o),l)});return r?e.cloneDeep(r):void 0}},{key:"_validateCombo",value:function(){return this._validateComboGroupList()}},{key:"_notifyChange",value:function(){this.onChange()}}])}(),rt=function(){return s(function t(e){c(this,t),a(this,"product",{}),a(this,"promotionActivityProduct",void 0),a(this,"specImage",void 0),a(this,"skuId",0),a(this,"sku",void 0),a(this,"skuList",[]),a(this,"skuListAfter",[]),a(this,"selectedSpecs",[]),a(this,"productSpecGroupList",[]),a(this,"specList",[]),a(this,"activitySpecList",[]),a(this,"stockCount",0),a(this,"minCount",1),a(this,"maxCount",1),a(this,"perOrderMinLimit",-1),a(this,"perOrderMaxLimit",-1),a(this,"salePrice",0),a(this,"originalPrice",-1),a(this,"memberPrice",void 0),a(this,"customizationGroupList",[]),a(this,"customizationItemList",[]),a(this,"cartCount",0),a(this,"cartItem",void 0),a(this,"cartList",[]);var i=e.productData,n=e.cartList,o=e.channel1Type,r=e.negativeStockSaleEnabled,u=e.onChange;this.cartList=n||[],this.channel1Type=o,this.negativeStockSaleEnabled=r,this.onChange=u,this._initProductData(i)},[{key:"setCartList",value:function(t){this.cartList=t,this._updateSkuCartItem(),this._notifyChange()}},{key:"init",value:function(){var t,i=this,n=this.skuListAfter,o=this.product.spec_type,r=this._findSkuCartItem(),u=0;if(!_(r)){var c=r,s=c.sku,a=c.external_sku,l=c.product_customization_item_list,d=(null==a?void 0:a.id)||s.id;if(-1===(u=e.findIndex(n,function(t){return t.id===d}))&&(u=0),!_(l)){var m=U(this.customizationGroupList,l);this.customizationGroupList=m.customizationGroupList,this.customizationItemList=m.selectedCustomizationItemList}}if(this._updateSkuCartItem(),1===o)return this._updateSkuData(this.skuList[0]),void this._notifyChange();null===(t=n[u])||void 0===t||t.specs.forEach(function(t,e){i._selectSpec(!0,t,e)});var f=e.find(n,function(t){return e.isEqual(t.specs,i.selectedSpecs)});f&&this._updateSkuData(f),this._notifyChange()}},{key:"getView",value:function(){return{product:this.product,promotionActivityProduct:this.promotionActivityProduct,skuId:this.skuId,sku:this.sku,salePrice:this.getSalePrice(),originalPrice:this.getOriginalPrice(),memberPrice:this.getMemberPrice(),specImage:this.specImage,skuListAfter:this.skuListAfter,selectedSpecs:this.selectedSpecs,productSpecGroupList:this.productSpecGroupList,activitySpecList:this.activitySpecList,customizationGroupList:this.customizationGroupList,customizationItemList:this.customizationItemList,cartCount:this.cartCount,maxCount:this.maxCount,cartItem:this.cartItem}}},{key:"handleSelectSpecs",value:function(t,i,n){var o,r=this,u=this._selectSpec(t,i,n),c=this.buildCartCountParams();if(!u||this.selectedSpecs.indexOf("")>=0)return this._updateSkuCartItem(),this._notifyChange(),{needFetchCart:!1,cartParams:c};var s=e.find(this.skuListAfter,function(t){return e.isEqual(t.specs,r.selectedSpecs)});return s?(void 0!==(null===(o=this.specList[0])||void 0===o||null===(o=o.items[0])||void 0===o?void 0:o.image)&&this.specList[0].items.forEach(function(t){t.name===r.selectedSpecs[0]&&(r.specImage=t.image)}),this._updateSkuData(s),this._updateSkuCartItem(),this._notifyChange(),{needFetchCart:!0,cartParams:this.buildCartCountParams()}):(this._updateSkuCartItem(),this._notifyChange(),{needFetchCart:!1,cartParams:c})}},{key:"updateCartCountData",value:function(t){if(t&&void 0!==t.cart){var e=t.cart;this.cartItem=t,this.cartCount=(null==e?void 0:e.count)||0}else this.cartItem=void 0,this.cartCount=0;this._notifyChange()}},{key:"updateMemberPrice",value:function(t){this.memberPrice=t,this._notifyChange()}},{key:"handleCustomizationItemListSelect",value:function(t){return this.customizationItemList=t,j(this.customizationGroupList,t).isValid?(this._updateSkuCartItem(),this._notifyChange(),{isValid:!0,cartParams:this.buildCartCountParams()}):(this.cartItem=void 0,this.cartCount=0,this._notifyChange(),{isValid:!1})}},{key:"handleProductCountChange",value:function(t,e){var i=this.perOrderMinLimit,n=this.cartItem;if(this.selectedSpecs.indexOf("")>=0)return{isValid:!1,errMsg:"请选择规格"};if(t>0){if(e===S&&-1!==i&&t<i)return{isValid:!0,cartItem:n,count:0};if(this.customizationGroupList.length>0){var o=j(this.customizationGroupList,this.customizationItemList);if(!o.isValid)return{isValid:!1,errMsg:o.errMsg}}var r=this._checkProductCount(t);if(!r.isValid)return r}return{isValid:!0,cartItem:n,count:t}}},{key:"getAddToCartParams",value:function(t,e){var i=this.sku,n=this.skuId,o=this.product,r=this.skuList,u=this.selectedSpecs,c=this.negativeStockSaleEnabled,s=this.productSpecGroupList,a=this.customizationItemList,l=this.customizationGroupList,d=this.perOrderMinLimit,m=u.indexOf(""),f=x(null==o?void 0:o.status,null==o?void 0:o.has_stock),h=T(null==o?void 0:o.status,null==o?void 0:o.has_stock);if(0!==r[0].item_ids.length&&m>=0)return{isValid:!1,errMsg:"请选择".concat(s[m].title)};if(!f&&!c)return{isValid:!1,errMsg:h};if(l.length>0){var p=j(l,a);if(!p.isValid)return{isValid:!1,errMsg:p.errMsg}}var v=z(a);return{isValid:!0,params:{productId:t,promotionActivityProductId:null!=i&&i.is_promotion_activity?e:void 0,skuId:n,count:-1!==d?d:1,productCustomizationItemList:v}}}},{key:"getSalePrice",value:function(){var t=N(this.customizationGroupList,this.customizationItemList);return this.salePrice+t}},{key:"getOriginalPrice",value:function(){if(_(this.originalPrice)||this.originalPrice<=0)return this.originalPrice;var t=N(this.customizationGroupList,this.customizationItemList);return this.originalPrice+t}},{key:"getMemberPrice",value:function(){if(!(_(this.memberPrice)||this.memberPrice<=0)){var t=N(this.customizationGroupList,this.customizationItemList);return this.memberPrice+t}}},{key:"getSelectedSpecAndCustomization",value:function(){var t=this.selectedSpecs.join("、"),i=e.flattenDeep(this.customizationItemList);t=R(t,i);var n=F(i);return _(t)&&_(n)?"":_(t)||_(n)?t||n:"".concat(t,"、").concat(n)}},{key:"buildCartCountParams",value:function(){var t=z(this.customizationItemList);return{channel1_type:this.channel1Type,checked:1,sku_id:this.skuId,sku_type:this._getSkuType(),product_customization_item_list:JSON.stringify(t),cart:1}}},{key:"buildMemberPriceParams",value:function(){if(this.skuId)return{sku_id:this.skuId,sku_type:this._getSkuType()}}},{key:"_initProductData",value:function(t){var i=t.product,n=t.promotionActivityProduct,o=t.skuList,r=t.productCover,u=t.productSpecGroupList,c=t.productCustomizationGroupList,s=E(u),a=L(u),l=I(o,s,this.negativeStockSaleEnabled),d=P(u,r),m=O(u),f=M(c||[]);this.product=i,this.promotionActivityProduct=n,this.specImage=d,this.skuList=o,this.skuListAfter=l,this.selectedSpecs=e.fill(new Array(a.length),""),this.productSpecGroupList=a,this.specList=u,this.activitySpecList=m,this.customizationGroupList=f,this.customizationItemList=c?V(f):[]}},{key:"_updateSkuData",value:function(t){var e=t.id,i=t.stock_count,n=t.per_order_min_limit,o=t.per_order_max_limit,r=-1===n?1:Math.min(n,i),u=-1===o?i:Math.min(o,i);this.sku=t,this.skuId=e,this.stockCount=i,this.salePrice=t.sale_price,this.originalPrice=t.original_price,this.minCount=r,this.maxCount=u,this.perOrderMinLimit=n,this.perOrderMaxLimit=o,this._findSkuCartItem(e)}},{key:"_checkProductCount",value:function(t){var e=this.minCount,i=this.maxCount,n=this.stockCount,o=this.perOrderMinLimit,r=this.negativeStockSaleEnabled;return t<e||t<o?{isValid:!1,errMsg:-1!==o?"该商品 ".concat(o," 件起售哦"):"购买数量至少 ".concat(e," 件")}:t>i&&!r?{isValid:!1,errMsg:t>n?"库存不足":"该商品最多购买 ".concat(i," 件哦")}:{isValid:!0}}},{key:"_selectSpec",value:function(t,e,i){var n=this.selectedSpecs;return 0!==this.productSpecGroupList.length&&(!(n[i]===e||!t)&&(n[i]=e,this.selectedSpecs=n.slice(),!0))}},{key:"_notifyChange",value:function(){this.onChange()}},{key:"_getSkuType",value:function(){var t;return null!==(t=this.sku)&&void 0!==t&&t.is_promotion_activity?1:0}},{key:"_findSkuCartItem",value:function(t){var i=this,n=this.cartList;if(!_(n)){var o=this.product,r=this.promotionActivityProduct,u=this.customizationItemList,c=e.find(n,function(n){var c=o.id,s=o.code,a=n.product,l=n.external_product;if(!(l?l.id===(null==r?void 0:r.id):c?a.id===c:a.code===s))return!1;var d=t||i.skuId;if(!d)return!0;var m=n.sku,f=n.external_sku;if(!(f?f.id===d:m.id===d))return!1;var h=n.product_customization_item_list||[];return!(!_(u)||!_(h))||D(e.flattenDeep(u),h)});return c?e.cloneDeep(c):void 0}}},{key:"_updateSkuCartItem",value:function(){var t,e=this._findSkuCartItem(this.skuId);this.cartItem=e,this.cartCount=(null==e||null===(t=e.cart)||void 0===t?void 0:t.count)||0}}])}(),ut=function(){return s(function t(e){c(this,t),a(this,"product",{}),a(this,"specImage",void 0),a(this,"skuId",0),a(this,"sku",void 0),a(this,"count",1),a(this,"stockCount",0),a(this,"minCount",1),a(this,"maxCount",1),a(this,"perOrderMinLimit",-1),a(this,"perOrderMaxLimit",-1),a(this,"skuList",[]),a(this,"skuListAfter",[]),a(this,"selectedSpecs",[]),a(this,"productSpecGroupList",[]),a(this,"specList",[]),a(this,"customizationGroupList",[]),a(this,"customizationItemList",[]),a(this,"isScrollable",!1);var i=e.productData,n=e.initSkuId,o=e.customizationItemList,r=e.exchangeRate,u=void 0===r?1e4:r,s=e.channel1Type,l=e.onChange;this.exchangeRate=u,this.channel1Type=s,this.onChange=l,this._initCustomizationItemList=o,this._initProductData(i,n)},[{key:"getView",value:function(){return{product:this.product,specImage:this.specImage,skuListAfter:this.skuListAfter,selectedSpecs:this.selectedSpecs,productSpecGroupList:this.productSpecGroupList,customizationGroupList:this.customizationGroupList,customizationItemList:this.customizationItemList,count:this.count,isScrollable:this.isScrollable,salePrice:this._formatSalePrice()}}},{key:"handleSelectSpecs",value:function(t,i,n){var o,r=this,u=this.specList,c=this.skuListAfter,s=this.selectedSpecs;if(this.productSpecGroupList.length>0){if(s[n]===i||!t)return;s[n]=s[n]===i?"":i,this.selectedSpecs=s.slice()}s.indexOf("")<0&&(e.find(c,function(t){var i=e.isEqual(t.specs,s);return i&&r._updateSkuData(t),i}),void 0!==(null===(o=u[0])||void 0===o?void 0:o.items[0].image)&&u[0].items.forEach(function(t){t.name===s[0]&&(r.specImage=t.image)}));this._notifyChange()}},{key:"handleCustomizationItemListSelect",value:function(t){this.customizationItemList=t,this._notifyChange()}},{key:"getSelectedSpecAndCustomization",value:function(){var t=this.selectedSpecs.join("、"),i=e.flattenDeep(this.customizationItemList);t=R(t,i);var n=F(i);return _(t)&&_(n)?"":_(t)||_(n)?t||n:"".concat(t,"、").concat(n)}},{key:"handleProductCountChange",value:function(t,e){var i=this.selectedSpecs,n=this.customizationItemList,o=this.customizationGroupList,r=this.perOrderMinLimit;if(i.indexOf("")<0){if(t>0){if("CHANGE_TYPE_DECREASE"===e&&-1!==r&&t<r)return{isValid:!1};var u=j(o||[],n||[]);if(!u.isValid)return{isValid:!1,errMsg:u.errMsg};var c=this._checkProductCount(t);if(!c.isValid)return c}return{isValid:!0}}return{isValid:!1,errMsg:"请选择规格"}}},{key:"handleSubmit",value:function(){var t=this.sku,e=this.count,i=this.product,n=this.skuList,o=this.selectedSpecs,r=this.productSpecGroupList,u=this.customizationItemList,c=this.customizationGroupList,s=o.indexOf(""),a=x(null==i?void 0:i.status,null==i?void 0:i.has_stock),l=T(null==i?void 0:i.status,null==i?void 0:i.has_stock);if(0===n[0].item_ids.length||s<0){if(!a)return{isValid:!1,errMsg:l};if(!_(c)){var d=j(c,u||[]);if(!d.isValid)return{isValid:!1,errMsg:d.errMsg}}return{isValid:!0,data:{sku:t,count:e,customizationItemList:u}}}return{isValid:!1,errMsg:"请选择".concat(r[s].title)}}},{key:"setScrollable",value:function(t){this.isScrollable=t,this._notifyChange()}},{key:"_initProductData",value:function(t,i){var n,o=this,r=t.product,u=t.skuList,c=t.productCover,s=t.productSpecGroupList,a=t.productCustomizationGroupList,l=E(s),d=L(s),m=I(u,l),f=P(s,c),h=M(a||[]),p=V(h);if(this.product=r,this.specImage=f,this.skuList=u,this.skuListAfter=m,this.selectedSpecs=e.fill(new Array(d.length),""),this.productSpecGroupList=d,this.specList=s,this.customizationGroupList=h,this.customizationItemList=p,!_(this._initCustomizationItemList)){var v=U(h,e.flattenDeep(this._initCustomizationItemList));this.customizationGroupList=v.customizationGroupList,this.customizationItemList=v.selectedCustomizationItemList}if(1!==r.spec_type){var k=0;_(i)||-1===(k=e.findIndex(m,function(t){return t.id===i}))&&(k=0),null===(n=m[k])||void 0===n||n.specs.forEach(function(t,e){o.handleSelectSpecs(!0,t,e)})}else this._updateSkuData(u[0])}},{key:"_updateSkuData",value:function(t){var e=t.id,i=t.stock_count,n=t.per_order_min_limit,o=t.per_order_max_limit,r=-1===n?1:Math.min(n,i),u=-1===o?i:Math.min(o,i);this.sku=t,this.skuId=e,this.stockCount=i,this.minCount=r,this.maxCount=u,this.perOrderMinLimit=n,this.perOrderMaxLimit=o}},{key:"_checkProductCount",value:function(t){var e=this.minCount,i=this.maxCount,n=this.stockCount,o=this.perOrderMinLimit;return t<e||t<o?-1!==o?{isValid:!1,errMsg:"该商品 ".concat(o," 件起售哦")}:{isValid:!1,errMsg:"购买数量至少 ".concat(e," 件")}:t>i?t>n?{isValid:!1,errMsg:"库存不足"}:{isValid:!1,errMsg:"该商品最多购买 ".concat(i," 件哦")}:{isValid:!0}}},{key:"_formatSalePrice",value:function(){return N(this.customizationGroupList||[],this.customizationItemList||[])}},{key:"_notifyChange",value:function(){this.onChange()}}])}(),ct=a(a(a({},1,"优惠券为草稿状态"),3,"优惠券已下线"),4,"优惠券已过期"),st=f(f({},ct),{},a(a({},5,"优惠券已注销"),6,"优惠券已锁定")),at="extra",lt="reason",dt="none",mt="请选择优惠券",ft="deadline",ht="validity",pt=[1,2,3,4,5,6,0],vt={1:"一",2:"二",3:"三",4:"四",5:"五",6:"六",0:"日"},_t=[1,2,3,4,5],kt=[6,0];function Ct(t){if(Array.isArray(t))return t.map(function(t){return Number(t)}).filter(function(t){return Number.isFinite(t)&&t>=0});if("string"==typeof t&&t)try{var e=JSON.parse(t);if(Array.isArray(e))return Ct(e)}catch(e){return t.split(",").map(function(t){return Number(t)}).filter(function(t){return Number.isFinite(t)&&t>=0})}return[]}var yt=function(t,e){if(t.length!==e.length)return!1;var i=new Set(e);return t.every(function(t){return i.has(t)})},St=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t,e){return e===t+1};if(!t.length)return[];for(var i=[[t[0]]],n=1;n<t.length;n++){var o=t[n-1],r=t[n];e(o,r)?i[i.length-1].push(r):i.push([r])}return i},bt=function(t,e){var i=pt.indexOf(t),n=pt.indexOf(e);return i>=0&&n===i+1},gt=function(t,e,i){var n=[];return t.forEach(function(t){t.length>=3?n.push(e(t[0],t[t.length-1])):t.forEach(function(t){n.push(i(t))})}),n};function Lt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.repeatType,i=void 0===e?0:e,n=t.repeatValue,o=Ct(void 0===n?[]:n);return 1===i?function(t){if(!t.length)return"";if(yt(t,_t))return"工作日";if(yt(t,kt))return"周六日";var e=pt.filter(function(e){return t.includes(e)}),i=St(e,bt);if(!i.some(function(t){return t.length>=3})){var n=e.map(function(t){return vt[t]});return"每周".concat(n.join("、"))}return gt(i,function(t,e){return"周".concat(vt[t],"到周").concat(vt[e])},function(t){return"周".concat(vt[t])}).join("、")}(o):2===i?function(t){if(!t.length)return"";var e=p(new Set(t)).sort(function(t,e){return t-e}),i=St(e);return i.some(function(t){return t.length>=3})?gt(i,function(t,e){return"".concat(t," - ").concat(e,"号")},function(t){return"".concat(t,"号")}).join("、"):"每月".concat(e.join(", "),"号")}(o):""}function It(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=[],i=Number(t.daily)||0,n=Number(t.weekly)||0,o=Number(t.monthly)||0;return i>0&&e.push("每日".concat(i,"次")),n>0&&e.push("每周".concat(n,"次")),o>0&&e.push("每月".concat(o,"次")),e.length?e.join("、"):"不限制"}function Et(t,e){return null!=t&&null!=e&&String(t)===String(e)}function Pt(t){return null!=t&&!1!==t&&0!==t&&("string"==typeof t?t.trim().length>0:!_(t))}function Ot(t){return!Pt(t.availableError)&&(null==t.status||""===t.status||2===Number(t.status))}function xt(t){return Pt(t.availableError)?String(t.availableError):st[Number(t.status)]||""}function Tt(t,e){var i=Array.isArray(t)?t:[],n=[];return i.forEach(function(t){var i=e?e(t):t;if(i&&null!=i.id){var o=f(f({},i),{},{original:void 0!==i.original?i.original:t});n.push(o)}}),n.sort(function(t,e){return Number(Ot(e))-Number(Ot(t))})}function At(t){return 1===Number(t.couponType)}function zt(t){if(_(t.couponValue))return"";if(At(t)){var e=o.formatDiscount(Number(t.couponValue));return e&&"NaN折"!==e?e.endsWith("折")?e.slice(0,-1):e:""}return qt(o.formatAmount(t.couponValue,""))}function Nt(t){return At(t)||_(t.couponValue)?"":"¥"}function Dt(t){return At(t)&&!_(t.couponValue)?"折":""}function Mt(t){var e=Number(t.thresholdType),i=Number(t.thresholdValue)||0;return i?2===e?"满".concat(i,"件"):1===e?"满".concat(qt(o.formatAmount(i,"")),"元"):"无门槛":"无门槛"}var Vt=864e5;function Gt(t){return t?o.formatDateTime(Number(t)):""}function Ut(t){if(1===Number(t.effectiveEndType))return"长期有效";var e=Gt(function(t){var e=Number(t.effectiveEndTime);if(Number.isFinite(e)&&e>0)return e;var i=Number(t.effectiveEndDays);if(Number.isFinite(i)&&!(i<=0)){var n=Number(t.effectiveStartType),o=Number(t.effectiveStartTime);return 2===n&&Number.isFinite(o)&&o>0?o+i*Vt:Date.now()+i*Vt}}(t));return e||"长期有效"}function jt(t){var e=Number(t.effectiveStartType)||1,i=Number(t.effectiveEndType),n=Gt(t.effectiveStartTime),o=Gt(t.effectiveEndTime),r=t.effectiveEndDays;if(1===e){if(1===i)return"自获取后永久有效";if(2===i)return o?"自获取后截止".concat(o,"期间有效"):"";if(3===i)return r?"自获取后".concat(r,"天内有效"):""}if(2===e){if(1===i)return n?"".concat(n,"起永久有效"):"";if(2===i)return n&&o?"".concat(n,"至").concat(o,"有效"):"";if(3===i)return n&&r?"".concat(n,"起").concat(r,"天内有效"):""}return""}function wt(t){return t===ht?ht:ft}function Rt(t){return Lt({repeatType:t.availableRepeatType,repeatValue:t.availableRepeatValue})||"每天"}function Ft(t){var e=Ct(t.availableMinuteSegments);return e.length&&o.formatMinuteSegments(e)||"全天"}function Yt(t){return It({daily:t.useLimitCountDaily,weekly:t.useLimitCountWeekly,monthly:t.useLimitCountMonthly})}function qt(t){return String(t).replace(/\.00$/,"")}function Bt(t){return t.label?"".concat(t.label,":").concat(t.value):t.value}function Ht(t,e){var i=[],n=Mt(t);if(n&&i.push({label:"使用门槛",value:n}),wt(e)===ht){var o=jt(t);return o&&i.push({label:"有效期",value:o}),i}var r=Ut(t);return r&&i.push({label:"过期时间",value:r}),i}function Xt(t){return null!=(e=t.availableRepeatType)&&""!==e&&!Number.isNaN(Number(e))||!_(Ct(t.availableRepeatValue))||!_(Ct(t.availableMinuteSegments));var e}function Wt(t){return null!=t.useLimitCountDaily||null!=t.useLimitCountWeekly||null!=t.useLimitCountMonthly}function Kt(t){var e=String(t).match(/^(.+?)[::](.*)$/);return e&&e[1]&&""!==e[2]?{label:e[1].trim(),value:e[2].trim()}:{label:"",value:String(t)}}function Jt(t){var e=$t(t);if(e===at)return t.extraLines&&t.extraLines.length>0?t.extraLines.map(Kt):function(t){var e=[];return Xt(t)&&(e.push({label:"可用日期",value:Rt(t)}),e.push({label:"可用时间",value:Ft(t)})),Wt(t)&&e.push({label:"使用限制",value:Yt(t)}),e}(t);if(e===lt){var i=xt(t);if(i)return[{label:"本单不可用原因",value:i}]}return[]}function $t(t){if(Ot(t)){var e=!!(t.extraLines&&t.extraLines.length>0),i=Xt(t)||Wt(t);return e||i?at:dt}return _(xt(t))?dt:lt}function Qt(t){return Jt(t).map(function(e){return $t(t)===lt?e.value:Bt(e)})}function Zt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=wt(e.expireMode);return{coupon:t,selected:!!e.selected,expanded:!!e.expanded,available:Ot(t),amountPrefix:Nt(t),amountValue:zt(t),amountSuffix:Dt(t),title:t.title||"",contentLines:Ht(t,i).map(Bt),expandType:$t(t),expandLines:Qt(t)}}var te=function(){return s(function t(e){c(this,t),a(this,"list",[]),a(this,"expandedIds",[]),a(this,"exclusiveExpand",!1),a(this,"onChange",function(){}),this.formatItem=e.formatItem,this.exclusiveExpand=!!e.exclusiveExpand,this.expireMode=e.expireMode,this.onChange=e.onChange,this.preferredSelectedId=this._normalizeSelectedId(e.value),e.list&&(this.list=Tt(e.list,this.formatItem),this._dedupeList()),this.selectedId=this._pickValidSelectedId(this.preferredSelectedId)},[{key:"setList",value:function(t){var e=this;this.list=Tt(t,this.formatItem),this._dedupeList(),this._syncSelectedId(),this.expandedIds=this.expandedIds.filter(function(t){return e._findCoupon(t)}),this._notifyChange()}},{key:"appendList",value:function(t){var e=Tt(t,this.formatItem);this.list=Tt([].concat(p(this.list),p(e))),this._dedupeList(),this._syncSelectedId(),this._notifyChange()}},{key:"getView",value:function(){var t=this,e=this._findCoupon(this.selectedId);return{items:this.list.map(function(e){return t._toViewItem(e)}),selectedId:this.selectedId,selectedCoupon:e}}},{key:"select",value:function(t){var e=this._findCoupon(t);if(e){if(!Ot(e))return $t(e)===lt&&this._setExpanded(t,!0),void this._notifyChange();this.selectedId=Et(this.selectedId,t)?void 0:e.id,this.preferredSelectedId=this.selectedId,this._notifyChange()}}},{key:"toggleExpand",value:function(t){if(this._findCoupon(t)){var e=this._isExpanded(t);this._setExpanded(t,!e),this._notifyChange()}}},{key:"confirm",value:function(){var t=this._findCoupon(this.selectedId);return t&&Ot(t)?{isValid:!0,coupon:t}:{isValid:!1,errMsg:mt}}},{key:"_toViewItem",value:function(t){return Zt(t,{selected:Et(t.id,this.selectedId),expanded:this._isExpanded(t.id),expireMode:this.expireMode})}},{key:"_dedupeList",value:function(){var t=new Set;this.list=this.list.filter(function(e){var i=String(e.id);return!t.has(i)&&(t.add(i),!0)})}},{key:"_findCoupon",value:function(t){var e=this._normalizeSelectedId(t);if(null!=e)return this.list.find(function(t){return Et(t.id,e)})}},{key:"_normalizeSelectedId",value:function(t){if(null!=t&&""!==t&&0!==t&&"0"!==t)return t}},{key:"_syncSelectedId",value:function(){var t;this.selectedId=this._pickValidSelectedId(null!==(t=this._normalizeSelectedId(this.selectedId))&&void 0!==t?t:this.preferredSelectedId)}},{key:"_pickValidSelectedId",value:function(t){var e=this._findCoupon(t);if(e&&Ot(e))return e.id}},{key:"_isExpanded",value:function(t){return this.expandedIds.some(function(e){return Et(e,t)})}},{key:"_setExpanded",value:function(t,e){if(e)return this.exclusiveExpand?void(this.expandedIds=[t]):void(this._isExpanded(t)||(this.expandedIds=this.expandedIds.concat(t)));this.expandedIds=this.expandedIds.filter(function(e){return!Et(e,t)})}},{key:"_notifyChange",value:function(){this.onChange()}}])}();t.COUPON_AVAILABLE_REPEAT_TYPE_DAILY=0,t.COUPON_AVAILABLE_REPEAT_TYPE_MONTHLY=2,t.COUPON_AVAILABLE_REPEAT_TYPE_WEEKLY=1,t.COUPON_CONFIRM_EMPTY_MSG=mt,t.COUPON_EFFECTIVE_END_TYPE_EXTEND=3,t.COUPON_EFFECTIVE_END_TYPE_FOREVER=1,t.COUPON_EFFECTIVE_END_TYPE_FUTURE=2,t.COUPON_EFFECTIVE_START_TYPE_FUTURE=2,t.COUPON_EFFECTIVE_START_TYPE_NOW=1,t.COUPON_EXPAND_TYPE_EXTRA=at,t.COUPON_EXPAND_TYPE_NONE=dt,t.COUPON_EXPAND_TYPE_REASON=lt,t.COUPON_EXPIRE_MODE_DEADLINE=ft,t.COUPON_EXPIRE_MODE_VALIDITY=ht,t.COUPON_STATUS_CANCELED=5,t.COUPON_STATUS_ENABLED=2,t.COUPON_STATUS_EXPIRED=4,t.COUPON_STATUS_LOCKED=6,t.COUPON_STATUS_PENDING=1,t.COUPON_STATUS_UNAVAILABLE_ERROR=st,t.COUPON_STATUS_USED=3,t.COUPON_TEMPLATE_STATUS_DRAFT=1,t.COUPON_TEMPLATE_STATUS_EXPIRED=4,t.COUPON_TEMPLATE_STATUS_OFFLINE=3,t.COUPON_TEMPLATE_STATUS_ONLINE=2,t.COUPON_TEMPLATE_STATUS_UNAVAILABLE_ERROR=ct,t.COUPON_THRESHOLD_TYPE_AMOUNT=1,t.COUPON_THRESHOLD_TYPE_COUNT=2,t.COUPON_TYPE_AMOUNT=2,t.COUPON_TYPE_DISCOUNT=1,t.COUPON_TYPE_FREIGHT=3,t.ChildCustomSelector=ut,t.ComboSpecSelector=ot,t.CouponSelector=te,t.CustomSpecSelector=rt,t.SpecSelector=C,t.calculateSelectedComboPrice=B,t.calculateSelectedCustomizationPrice=N,t.checkComboGroupItemCanPlusCount=K,t.checkComboGroupItemIsCanChangeSelectCheckbox=function(t,e){var i=t.items,n=t.min_count,o=t.max_count,r=0;if(i.forEach(function(t,e){1===t.selected&&r++}),2===e){if(1===n&&r<=1)return!1}else if(o>1&&r>=o)return!1;return!0},t.checkComboItemIsFixedSelect=J,t.checkComboItemIsUseSelectCheckbox=function(t){return 2!==t.selectable&&(!$(t)&&!Q(t))},t.checkComboItemIsUseSelectCount=Q,t.checkComboItemIsUseSelectSkuDialog=Z,t.checkCustomizationItemCanPlusCount=function(t){var e=t.max_count,i=0;return t.items.forEach(function(t){1===t.selected&&(i+=t.selected_count)}),-1===e||i<e},t.checkCustomizationItemIsDisabledSelected=function(t){var e=t.selected;return 2===t.selectable&&2===e},t.checkCustomizationItemIsFixedSelected=function(t){var e=t.selected;return 2===t.selectable&&1===e},t.checkCustomizationItemIsUseSelectCount=function(t){var e=t.selectable,i=t.min_count,n=t.max_count;return 1===e&&i!==n&&n>1},t.checkCustomizationItemList=j,t.checkCustomizationItemListEqual=D,t.checkGroupCanMinusCount=tt,t.checkHasChildren=$,t.checkIsFixedSelectNeedSelectSku=function(t){var e=t.selected;return 1!==t.selectable&&2!==e&&Z(t)},t.checkIsUseSelectSkuBtn=function(t){var e=t.combo_sku,i=t.combo_product;return 2===(null==i?void 0:i.select_type)&&!e},t.checkItemCanMinusCount=function(t,e){var i=e.count,n=e.min_count,o=J(e),r=tt(t);return o?i>n:r},t.checkItemCanPlusCount=function(t,e){var i=e.selected,n=e.count,o=e.max_count,r=K(t);return r&&2!==i?n<o:r},t.checkProductOnSale=x,t.checkSkuComboItemListEqual=X,t.checkUseReducePlusBtn=function(t){var e=t.combo_type,i=t.select_type;return!(2===e)&&1===i},t.findCustomizationSkuCartItem=function(t,i){if(!_(i)){var n=t.skuId,o=t.product,r=t.promotionActivityProduct,u=t.customizationItemList,c=e.find(i,function(t){var i=o.id,c=o.code,s=t.product,a=t.external_product;if(!(a?a.id===(null==r?void 0:r.id):i?s.id===i:s.code===c))return!1;if(!n)return!0;var l=t.sku,d=t.external_sku;if(!(d?d.id===n:l.id===n))return!1;var m=t.product_customization_item_list||[];return!(!_(u)||!_(m))||D(e.flattenDeep(u),m)});return c?e.cloneDeep(c):void 0}},t.findProductCartList=function(t,e,i){var n={cartList:[],cartCount:0},o=e.id,r=e.code;return t.forEach(function(t){var e=t.product,u=t.external_product;t.error||(i?(null==u?void 0:u.id)===i&&(n.cartList.push(t),n.cartCount+=t.cart.count):o?e.id===o&&(n.cartList.push(t),n.cartCount+=t.cart.count):e.code===r&&(n.cartList.push(t),n.cartCount+=t.cart.count))}),n},t.formatAvailableRepeatDateText=Lt,t.formatAvailableRepeatText=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.repeatType,n=void 0===e?0:e,o=t.repeatValue,r=void 0===o?[]:o,u=t.minuteSegments,c=void 0===u?[]:u,s=Lt({repeatType:n,repeatValue:r}),a=i.formatMinuteSegments(Ct(c));return"".concat(s).concat(a)||"全天"},t.formatComboGroupItemSelectTips=function(t){var i=t.items,n=t.repeatable,o=t.min_count,r=t.max_count;if(e.every(i,function(t){return 2===t.selectable}))return"";var u=[];o===r?u.push("请选择".concat(o,"项")):(o>0&&u.push("至少选择".concat(o,"项")),r>0&&u.push("最多可选".concat(r,"项"))),1===n&&u.push("可重复选");var c=0;return i.forEach(function(t){1===t.selected&&(c+=t.count)}),c>0&&u.push("已选".concat(c)),u.join(",")},t.formatComboPrice=H,t.formatComboSkuAndCustomizationName=function(t){var i=t.combo_sku,n=t.combo_customization_item_list;if(_(i))return"";var o=R(i.name,e.flattenDeep(n)),r=F(e.flattenDeep(n));return r&&(o="".concat(o,"、").concat(r)),o},t.formatCountTypeUnit=w,t.formatCouponAmountPrefix=Nt,t.formatCouponAmountSuffix=Dt,t.formatCouponAmountValue=zt,t.formatCouponAvailableDateText=Rt,t.formatCouponAvailableTimeText=Ft,t.formatCouponExpireText=Ut,t.formatCouponKvText=Bt,t.formatCouponList=Tt,t.formatCouponThreshold=Mt,t.formatCouponUseLimitText=Yt,t.formatCouponValidityText=jt,t.formatCouponViewItem=Zt,t.formatCustomizationCountType=F,t.formatCustomizationGroupItemSelectTips=function(t){var e=t.items,i=t.min_count,n=t.max_count,o=[],r=w(t.customization.count_type);i===n?o.push("请选择".concat(i).concat(r)):(i>0&&o.push("至少选择".concat(i).concat(r)),n>0&&o.push("最多可选".concat(n).concat(r)));var u=0;return e.forEach(function(t){u+=t.selected_count}),u>0&&o.push("已选".concat(u).concat(r)),o.join(",")},t.formatCustomizationGroupList=M,t.formatCustomizationInfo=function(t){var e=[];return _(t)?"":(t.map(function(t){var i=t.name,n=t.count,o=2===t.count_type;e.push("".concat(i).concat(o?" x".concat(n):""))}),e.join("、"))},t.formatCustomizationPrice=function(t,e,n){if(-1===t)return t;var o=N(e,n||[]);return i.plusNumber(t,o)},t.formatIncreaseSalePrice=function(t){var e=t.increase_sale_price;return e>0?"¥".concat(o.formatAmount(e,"")):""},t.formatInitCustomizationItemList=V,t.formatPriceRange=function(t){var e=t.end_price,n=t.start_price;return n===e?"¥".concat(i.moneyToDisplay(n)):"¥".concat(i.moneyToDisplay(n),"~").concat(i.moneyToDisplay(e))},t.formatProductBuyText=function(t){var e=t.combo_type,i=t.select_type;return 2===e?"选套餐":2===i?"选规格":"加入购物车"},t.formatProductComboChildrenSkuList=function(t,i){var n=[];return i.forEach(function(i){var o=i.combo_sku,r=i.min_count,u=i.max_count,c=e.find(t,function(t){return t.id===o.id});if(c){var s=f({},c);r>0&&(s.per_order_min_limit=r),u>0&&(s.per_order_max_limit=u),n.push(s)}}),n},t.formatProductSku=g,t.formatProductSkuList=function(t,i,n){return i?function(t,i,n){if(n)return t.map(function(t){var n=e.find(i,function(e){return e.mall_sku_id===t.id}),o=g(t);return n&&(o=b(t,n)),o});return i.map(function(i){return b(e.find(t,function(t){return t.id===i.mall_sku_id}),i)})}(t,i,n):t.map(function(t){return g(t)})},t.formatProductSpecGroupList=function(t,i,n){var o=[];return i.forEach(function(i,r){var u=i.items,c=f(f({},i),{},{items:[]});t.forEach(function(t){var i=t.item_ids,o=e.findIndex(u,function(t){return t.id===i[r]});if(-1!==o){var s=u[o];-1===e.findIndex(c.items,function(t){return t.id===s.id})&&(t.is_promotion_activity&&n&&(s.is_promotion_activity=!0),c.items.push(s))}}),o.push(c)}),o},t.formatProductStatus=T,t.formatSelectSkuComboItemList=it,t.formatSelectedCustomizationItemList=G,t.formatSkuComboItemList=function(t){return _(t)?"":t.map(function(t){return W(t)}).join("+")},t.formatSkuComboItemName=W,t.formatSkuListAfter=I,t.formatSkuListStockCount=function(t){var e=0;return t.forEach(function(t){e+=t.stock_count}),e},t.formatSkuNameWithCustomization=R,t.formatSkuPrice=function(t){var e=t.map(function(t){return t.sale_price}),n=Math.min.apply(Math,p(e))||0,o=Math.max.apply(Math,p(e))||0;return n===o?"¥".concat(i.moneyToDisplay(n)):"¥".concat(i.moneyToDisplay(n)," ~ ¥").concat(i.moneyToDisplay(o))},t.formatSkuWithPromotionActivitySaleInfoItem=b,t.formatSpecList=L,t.formatSpecObj=E,t.formatUseLimitText=It,t.formatWithExternalSku=function(t,e){if(_(e))return t;var i=f(f({},t),e);return-1===e.sale_price?i.sale_price=t.sale_price:i.original_price=t.sale_price,-1===e.stock_count&&(i.stock_count=t.stock_count),i},t.generateCartSkuComboItemList=function(t){return _(t)?[]:e.flattenDeep(t).map(function(t){var e={id:t.id,name:t.name,count:t.count,combo_group_name:t.combo_group_name};return t.combo_sku_id&&(e.combo_sku_id=t.combo_sku_id),t.combo_sku_name&&(e.combo_sku_name=t.combo_sku_name),_(t.combo_product_customization_item_list)||(e.combo_product_customization_item_list=t.combo_product_customization_item_list.map(function(t){return{id:t.id,name:t.name,count:t.count,count_type:t.count_type}})),e})},t.genereateCartProductCustomizationItemList=function(t,n){var o=[],r=0;return _(t)||_(n)||n.forEach(function(n){var u=n.items,c=n.customization;u.forEach(function(n){var u=n.id,s=n.customization_item,a=e.find(t,function(t){return t.id===u});a&&(o.push(f(f({},a),{},{name:s.name,count_type:c.count_type})),2===s.increase_type&&(r=i.plusNumber(r,i.timesNumber(s.increase_sale_price,a.count))))})}),{orderSkuCustomizationItemList:o,customizationSalePrice:r}},t.getActivitySpecList=O,t.getCouponContentLines=Ht,t.getCouponExpandKvLines=Jt,t.getCouponExpandLines=Qt,t.getCouponExpandType=$t,t.getSkuComboItemGroup=function(t){var e={};return t.forEach(function(t){var i=t.combo_group_name,n=e[i];n?n.push(t):e[i]=[t]}),Object.keys(e).map(function(t){return{comboGroupName:t,list:e[t]}})},t.getSpecImage=P,t.getSubmitComboItemList=Y,t.getSubmitComboItemListArr=q,t.getSubmitCustomizationItemList=A,t.getSubmitCustomizationItemListArr=z,t.handleComboGroupItemChildChange=function(t,i,n,o){var r=e.cloneDeep(t),u=i.sku,c=i.count,s=u.id,a=r.items[n];a.children.forEach(function(t){t.combo_sku.id===s?(t.selected=1,t.count=c):t.selected=2}),a.selected=1,null==o||o(r)},t.handleComboGroupItemComboSkuChange=function(t,i,n,o){var r,u,c=e.cloneDeep(t),s=i.sku,a=i.customizationItemList,l=c.items[n],d=Q(l);l.combo_sku={id:s.id,name:s.name,stock_count:null!==(r=null===(u=l.combo_sku)||void 0===u?void 0:u.stock_count)&&void 0!==r?r:y},a&&(l.combo_customization_item_list=a),d&&0===l.count&&(l.count=1),nt(c,1,n,o)},t.handleComboGroupItemSelected=nt,t.handleComboItemCountChange=function(t,i,n,o){var r=e.cloneDeep(t),u=r.items[n];u.count=i,u.selected=0===i?2:1,null==o||o(r)},t.handleCustomizationGroupItemCountChange=function(t,i,n,o){var r=e.cloneDeep(t),u=r.items[n];u.selected_count=i,u.selected=0===i?2:1,null==o||o(r)},t.handleCustomizationGroupItemSelectedChange=function(t,i,n,o){var r=e.cloneDeep(t),u=r.items[n],c=r.items,s=r.max_count,a=1===s,l=0;c.forEach(function(t,e){var o=t.count,r=t.selected,u=t.selected_count;e!==n?1===r&&(l+=u):1===i&&(l+=o)}),!a&&l>s||(a&&r.items.forEach(function(t,e){e!==n&&(t.selected=2,t.selected_count=0)}),u.selected=i,u.selected_count=1===i?u.count:0,null==o||o(r))},t.handleCustomizationItemCountChange=function(t,e,i,n){var o=e.items,r=t.min_count,u=t.max_count,c=t.customization_item,s=r,a=u,l=e.max_count,d=0;o.forEach(function(t){t.customization_item.id===c.id?d+=i:1===t.selected&&(d+=t.selected_count)}),-1!==l&&d>l||-1!==a&&i>a||(i<s?null==n||n(0):null==n||n(i))},t.handleCustomizationItemToggleSelected=function(t,e){var i=t.selected;1===t.selectable&&(null==e||e(1===i?2:1))},t.handleSelectComboSkuSubmit=function(t,e,i,n){e?null==i||i(t):null==n||n(t)},t.hasCouponAvailableRepeat=Xt,t.hasCouponUseLimit=Wt,t.isCouponDiscountBenefit=At,t.isFullDayMinuteSegment=function(t,e){return 0===t&&(1440===e||1439===e)},t.isSameCouponId=Et,t.parseCouponKvLine=Kt,t.parseCouponNumberList=Ct,t.reconstructComboGroupList=et,t.reconstructCustomizationItemList=U,t.resolveCouponAvailable=Ot,t.resolveCouponAvailableError=xt,t.setComboItemCountChange=function(t,e,i,n){var o=t.items,r=e.min_count,u=e.max_count,c=t.max_count,s=J(e),a=0;o.forEach(function(t){t.id===e.id?a+=i:1===t.selected&&(a+=t.count)}),-1!==c&&a>c||-1!==u&&i>u||i<0||a<0||s&&i<r||null==n||n(i)},t.setToggleComboItemSelecte=function(t,e,i){var n=1===t.selected?2:1;if(_(t.children)){var o=e.items,r=e.max_count;if(1===n&&r>1){var u=0;if(o.forEach(function(t){1===t.selected&&(u+=t.count)}),u>=r)return}null==i||i(n)}},t.toCouponViewItem=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=Tt([t],e.formatItem)[0];if(i)return Zt(i,{selected:e.selected,expanded:e.expanded,expireMode:e.expireMode})},t.validateComboGroupList=function(t,i){var n=!0,o="";return _(i)&&(i=it(t)),t.forEach(function(t,r){var u;if(n){var c=t.items,s=t.min_count,a=t.max_count,l=t.name;if(c.forEach(function(t,i){if(n){var r=t.count,u=t.min_count,c=t.selected,s=t.children,a=t.combo_sku,d=t.combo_product;if(2!==c)if(_(s)){if(d&&_(a))return n=!1,void(o="【".concat(l,"】:第").concat(i+1,"个商品,请选择规格"));r<u&&(n=!1,o="【".concat(l,"】:第").concat(i+1,"个商品,至少选择 ").concat(u," 件"))}else{_(e.find(s,function(t){return 1===t.selected}))&&(n=!1,o="【".concat(l,"】:第").concat(i+1,"个商品,请选择定制项"))}}}),n){var d=0;if(null===(u=i[r])||void 0===u||u.forEach(function(t){d+=t.count}),d<s)return n=!1,void(o="【".concat(l,"】:至少选择 ").concat(s," 件商品"));d>a&&(n=!1,o="【".concat(l,"】:最多选择 ").concat(a," 件商品"))}}}),o}});
|
|
2
2
|
//# sourceMappingURL=hive-biz.min.js.map
|