bmc-common-resource 1.1.162 → 1.1.164

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/enums/solution-status.enum.ts","../src/enums/solution-item-audit-status.enum.ts","../src/enums/design-type.enum.ts","../src/enums/currency-unit.enum.ts","../src/enums/supply-mode.enum.ts","../src/enums/im_group_type.enum.ts","../src/enums/recommendation-type.enum.ts","../src/enums/pro_series_type.enum.ts","../src/enums/sales_end_app_tag.enum.ts","../src/enums/solution_price_type.enum.ts","../src/enums/spatial-category.enum.ts","../src/enums/house-status.enum.ts","../src/enums/house-type.enum.ts","../src/enums/price-flag.enum.ts","../src/enums/rounding-rule.enum.ts","../src/enums/assign-business-type.enum.ts","../src/enums/business-scope.enum.ts","../src/enums/business-work-phase.enum.ts","../src/enums/contract-state.enum.ts","../src/enums/amount-decimal-value.enum.ts","../src/enums/amount-decimal-type.enum.ts","../src/enums/sign-style.enum.ts","../src/enums/mq-receipt-type-enum.ts","../src/enums/customer-classification.enum.ts","../src/enums/index.ts","../src/constants/solution-status-options.constant.ts","../src/constants/design-type-options.constant.ts","../src/enums/order-status.enum.ts","../src/constants/order-status-options.constant.ts","../src/constants/currency-unit-options.constant.ts","../src/constants/supply-mode-options.constant.ts","../src/constants/im-group-type-options.constants.ts","../src/enums/dictionary-identify.enum.ts","../src/enums/customer-source.enum.ts","../src/constants/dictionary-customer-source-options.constant.ts","../src/enums/process-stage.enum.ts","../src/constants/dictionary-process-stage-options.constant.ts","../src/enums/customer-label.enum.ts","../src/constants/dictionary-customer-label-options.constant.ts","../src/constants/dictionary-business-scope-options.constant.ts","../src/constants/dictionary-business-work-phase-options.constant.ts","../src/constants/dictionary-customer-classification-options.constant.ts","../src/constants/dictionary-attribute-options.constant.ts","../src/constants/dictionary-identify-options.constant.ts","../src/constants/recommendation-type-options.constant.ts","../src/constants/pro_series_type_enum.constant.ts","../src/constants/spatial-category-options.constant.ts","../src/constants/house-status-options.constant.ts","../src/constants/house-type-options.constant.ts","../src/constants/price-flag-options.constant.ts","../src/constants/rounding-rule-options.constant.ts","../src/constants/assign-business-type-options.constant.ts","../src/constants/amount-decimal-value-constant.ts","../src/constants/contract-status-options.constant.ts","../src/constants/sign-style-options.constant.ts","../src/constants/sales-end-app-tag.constant.ts","../src/enums/product-unit-measure.enum.ts","../src/constants/product-unit-measure.constant.ts","../src/constants/index.ts","../src/interfaces/index.ts","../src/utils/solution.util.ts","../src/utils/common.util.ts","../src/modules/solution/productCategories.ts","../src/modules/solution/groupTypes.ts","../src/modules/solution/classifyRoomGroupMap.ts","../src/modules/solution/measure/utils/MeasureCalculator.js","../src/modules/solution/measure/index.js","../src/modules/solution/dosage/index.ts","../src/modules/solution/categoryFormMap.ts","../src/modules/solution/models/QuotationItem.ts","../src/enums/privilege-status.enum.ts","../src/constants/privilege-status-options.constant.ts","../src/enums/contract-cancel-type.enum.ts","../src/enums/mq-consumer-group-enum.ts","../src/enums/place-order-type.enum.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\r\n * 产品单元计量计算工具\r\n * 用于根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\nclass ItemUnitMeasureCalculator {\r\n /**\r\n * 计量单位枚举\r\n */\r\n static ProductUnitMeasureEnum = {\r\n // 计件类单位\r\n PC: {\r\n name: 'PC',\r\n label: '件',\r\n simpleLabel: '件',\r\n enName: 'Place',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n EA: {\r\n name: 'EA',\r\n label: '个',\r\n simpleLabel: '个',\r\n enName: 'Each',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CELL: {\r\n name: 'CELL',\r\n label: '节',\r\n simpleLabel: '节',\r\n enName: 'cELL',\r\n dimension: 0,\r\n scale: 1,\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SET: {\r\n name: 'SET',\r\n label: '套',\r\n simpleLabel: '套',\r\n enName: 'Set',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BAN: {\r\n name: 'BAN',\r\n label: '把',\r\n simpleLabel: '把',\r\n enName: 'Ban',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SAG: {\r\n name: 'SAG',\r\n label: '袋',\r\n simpleLabel: '袋',\r\n enName: 'Bag',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n VOL: {\r\n name: 'VOL',\r\n label: '本',\r\n simpleLabel: '本',\r\n enName: 'Volume',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BOX: {\r\n name: 'BOX',\r\n label: '箱',\r\n simpleLabel: '箱',\r\n enName: 'Boxful',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIL: {\r\n name: 'PAIL',\r\n label: '桶',\r\n simpleLabel: '桶',\r\n enName: 'Pail',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAN: {\r\n name: 'CAN',\r\n label: '罐',\r\n simpleLabel: '罐',\r\n enName: 'Can',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n TAI: {\r\n name: 'TAI',\r\n label: '台',\r\n simpleLabel: '台',\r\n enName: 'Tai',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAR: {\r\n name: 'CAR',\r\n label: '盒',\r\n simpleLabel: '盒',\r\n enName: 'Carton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAK: {\r\n name: 'PAK',\r\n label: '包',\r\n simpleLabel: '包',\r\n enName: 'Package',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STP: {\r\n name: 'STP',\r\n label: '条',\r\n simpleLabel: '条',\r\n enName: 'Strip',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHI: {\r\n name: 'ZHI',\r\n label: '只',\r\n simpleLabel: '只',\r\n enName: 'Zhi',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZII: {\r\n name: 'ZII',\r\n label: '支',\r\n simpleLabel: '支',\r\n enName: 'Zii',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SLC: {\r\n name: 'SLC',\r\n label: '片',\r\n simpleLabel: '片',\r\n enName: 'Slice',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BLK: {\r\n name: 'BLK',\r\n label: '块',\r\n simpleLabel: '块',\r\n enName: 'Block',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHG: {\r\n name: 'ZHG',\r\n label: '张',\r\n simpleLabel: '张',\r\n enName: 'Zhang',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAL: {\r\n name: 'PAL',\r\n label: '货盘',\r\n simpleLabel: '货盘',\r\n enName: 'Pallet',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GEN: {\r\n name: 'GEN',\r\n label: '根',\r\n simpleLabel: '根',\r\n enName: 'Gen',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n FAN: {\r\n name: 'FAN',\r\n label: '扇',\r\n simpleLabel: '扇',\r\n enName: 'Fan',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n REEL: {\r\n name: 'REEL',\r\n label: '卷',\r\n simpleLabel: '卷',\r\n enName: 'Reel',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIR: {\r\n name: 'PAIR',\r\n label: '副',\r\n simpleLabel: '副',\r\n enName: 'Pair',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GROUP: {\r\n name: 'GROUP',\r\n label: '组',\r\n simpleLabel: '组',\r\n enName: 'Group',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STEP: {\r\n name: 'STEP',\r\n label: '步',\r\n simpleLabel: '步',\r\n enName: 'Step',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 长度类单位\r\n M: {\r\n name: 'M',\r\n label: '米',\r\n simpleLabel: '米',\r\n enName: 'Metre',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n LM: {\r\n name: 'LM',\r\n label: '延米',\r\n simpleLabel: '延米',\r\n enName: 'LinearMeter',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n H2W1: {\r\n name: 'H2W1',\r\n label: '门套延米',\r\n simpleLabel: 'tm',\r\n enName: 'Tow',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (2 * height + width) / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n MM: {\r\n name: 'MM',\r\n label: '毫米',\r\n simpleLabel: '毫米',\r\n enName: 'MilliMetre',\r\n dimension: 1,\r\n scale: 10,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width; // 直接返回毫米值\r\n }\r\n })\r\n },\r\n INC: {\r\n name: 'INC',\r\n label: '英寸',\r\n simpleLabel: '英寸',\r\n enName: 'Inch',\r\n dimension: 1,\r\n scale: 304,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 25.4; // 毫米转英寸\r\n }\r\n })\r\n },\r\n \r\n // 面积类单位\r\n M2: {\r\n name: 'M2',\r\n label: '平米',\r\n simpleLabel: '㎡',\r\n enName: 'SquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n PM2: {\r\n name: 'PM2',\r\n label: '投影平米',\r\n simpleLabel: 'pm²',\r\n enName: 'ProjectionSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n FM2: {\r\n name: 'FM2',\r\n label: '立面平米',\r\n simpleLabel: 'fm²',\r\n enName: 'FacadeSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n \r\n // 体积类单位\r\n M3: {\r\n name: 'M3',\r\n label: '立方米',\r\n simpleLabel: 'm²',\r\n enName: 'CubicMetre',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000000; // 毫米³转立方米\r\n }\r\n })\r\n },\r\n L: {\r\n name: 'L',\r\n label: '公升',\r\n simpleLabel: '公升',\r\n enName: 'Liter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000; // 毫米³转升(1升=1000cm³)\r\n }\r\n })\r\n },\r\n ML: {\r\n name: 'ML',\r\n label: '毫升',\r\n simpleLabel: '毫升',\r\n enName: 'MilliLiter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000; // 毫米³转毫升(1毫升=1cm³)\r\n }\r\n })\r\n },\r\n \r\n // 重量类单位\r\n KG: {\r\n name: 'KG',\r\n label: '千克',\r\n simpleLabel: 'kg',\r\n enName: 'Kilogram',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1kg\r\n })\r\n },\r\n TON: {\r\n name: 'TON',\r\n label: '吨',\r\n simpleLabel: 't',\r\n enName: 'Ton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1吨\r\n })\r\n },\r\n \r\n // 其他类型\r\n WORKLOAD: {\r\n name: 'WORKLOAD',\r\n label: '工作量',\r\n simpleLabel: '工作量',\r\n enName: 'workload',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 根据名称获取枚举\r\n getByName: function(name) {\r\n if (!name) return null;\r\n for (const key in this) {\r\n if (this[key] && this[key].name === name) {\r\n return this[key];\r\n }\r\n }\r\n return null;\r\n }\r\n };\r\n\r\n /**\r\n * 计算规则操作类型枚举\r\n */\r\n static ProductAttrQuotaOperatorTypeEnum = {\r\n NORMAL: 'NORMAL', // 正常值(不做任何处理)\r\n ADD_MULTIPLE: 'ADD_MULTIPLE', // 先加后乘\r\n MULTIPLE_ADD: 'MULTIPLE_ADD' // 先乘后加\r\n };\r\n\r\n /**\r\n * 查找计量单位并计算\r\n * @param {Object} dto 计算参数对象\r\n * @param {string} dto.measureUnit 计量单位\r\n * @param {number} dto.width 宽度(mm)\r\n * @param {number} dto.height 高度(mm)\r\n * @param {number} dto.depth 深度(mm)\r\n * @param {string} [dto.calculationMethod] 计算方法\r\n * @param {number} [dto.customLength] 自定义长度,用于特殊计算\r\n * @returns {number} 计算结果\r\n */\r\n static findItemUnitMeasure(dto) {\r\n // 处理尺寸\r\n const { width, height, depth } = this.calculateSizeByConfig(dto);\r\n\r\n // 更新DTO中的尺寸\r\n dto.width = width;\r\n dto.height = height;\r\n dto.depth = depth;\r\n\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === dto.measureUnit);\r\n \r\n if (!unitCode) {\r\n console.warn(`未找到计量单位 ${dto.measureUnit} 的处理方法`);\r\n return 1; // 默认按件计算\r\n }\r\n\r\n const measureUnit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 执行计算\r\n try {\r\n // 根据计算方法确定使用哪种计算方式\r\n if (dto.calculationMethod) {\r\n // 如果指定了计算方法,根据方法计算\r\n switch (dto.calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return (width * height) / (measureUnit.scale || 1000000);\r\n case 'HEIGHT_DEPTH':\r\n return (height * depth) / (measureUnit.scale || 1000000);\r\n case 'WIDTH_DEPTH':\r\n return (width * depth) / (measureUnit.scale || 1000000);\r\n case 'PERIMETER':\r\n return 2 * (width + depth) / 1000;\r\n case 'WIDTH':\r\n return width / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'HEIGHT':\r\n return height / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'DEPTH':\r\n return depth / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'CUSTOM_LENGTH':\r\n return (dto.customLength || width) / 1000;\r\n default:\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } else {\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } catch (error) {\r\n console.error('计算过程中出错:', error);\r\n return 1; // 出错时默认按件计算\r\n }\r\n }\r\n\r\n /**\r\n * 根据单位定义计算\r\n * @param {Object} measureUnit 计量单位对象\r\n * @param {number} width 宽度\r\n * @param {number} height 高度\r\n * @param {number} depth 深度\r\n * @param {number} customLength 自定义长度\r\n * @returns {number} 计算结果\r\n */\r\n static calculateByUnitDefinition(measureUnit, width, height, depth, customLength) {\r\n return measureUnit.getCount().apply({\r\n width,\r\n height,\r\n depth,\r\n customLength\r\n });\r\n }\r\n\r\n /**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n */\r\n static getMeasureUnitInfo(measureUnit) {\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum).find(unit => \r\n this.ProductUnitMeasureEnum[unit]?.label === measureUnit\r\n );\r\n \r\n if (!unitCode) {\r\n return null;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 确定可用的计算方法\r\n let methods = [];\r\n \r\n // 根据单位维度确定可用的计算方法\r\n if (unit.dimension === 2) {\r\n // 二维单位可以用width_height或width_depth或height_depth\r\n methods.push({\r\n key: 'WIDTH_HEIGHT',\r\n label: '宽度×高度',\r\n description: `${unit.label}宽×高计算方式`,\r\n requiredDimensions: ['width', 'height']\r\n });\r\n \r\n methods.push({\r\n key: 'WIDTH_DEPTH',\r\n label: '宽度×深度',\r\n description: `${unit.label}宽×深计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT_DEPTH',\r\n label: '高度×深度',\r\n description: `${unit.label}高×深计算方式`,\r\n requiredDimensions: ['height', 'depth']\r\n });\r\n } else if (unit.dimension === 1) {\r\n // 一维单位可以用width、height或depth\r\n methods.push({\r\n key: 'WIDTH',\r\n label: '宽度',\r\n description: `${unit.label}宽度计算方式`,\r\n requiredDimensions: ['width']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT',\r\n label: '高度',\r\n description: `${unit.label}高度计算方式`,\r\n requiredDimensions: ['height']\r\n });\r\n \r\n methods.push({\r\n key: 'DEPTH',\r\n label: '深度',\r\n description: `${unit.label}深度计算方式`,\r\n requiredDimensions: ['depth']\r\n });\r\n\r\n // 添加周长计算方法\r\n methods.push({\r\n key: 'PERIMETER',\r\n label: '周长',\r\n description: `${unit.label}周长计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n }\r\n \r\n // 如果没有计算方法,添加默认计算方法\r\n if (methods.length === 0) {\r\n methods.push({\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n });\r\n }\r\n \r\n // 确定默认计算方法\r\n let defaultMethod = 'DEFAULT';\r\n \r\n // 根据单位的维度确定默认方法\r\n if (unit.dimension === 2) {\r\n defaultMethod = 'WIDTH_HEIGHT';\r\n } else if (unit.dimension === 1) {\r\n defaultMethod = 'WIDTH';\r\n }\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n simpleLabel: unit.simpleLabel,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: defaultMethod,\r\n methods: methods,\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n }\r\n\r\n /**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n */\r\n static getAllMeasureUnits() {\r\n return Object.entries(this.ProductUnitMeasureEnum)\r\n .filter(([key]) => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .map(([code, unit]) => {\r\n // 获取单位信息\r\n const unitInfo = this.getMeasureUnitInfo(unit.label);\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: unitInfo?.defaultMethod || 'DEFAULT',\r\n methods: unitInfo?.methods || [{\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n }],\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n });\r\n }\r\n\r\n /**\r\n * 根据配置计算尺寸\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算后的尺寸\r\n */\r\n static calculateSizeByConfig(dto) {\r\n // 创建一个尺寸对象,包含三个维度\r\n const size = {\r\n width: dto.width || 0,\r\n height: dto.height || 0,\r\n depth: dto.depth || 0\r\n };\r\n\r\n // 获取计算配额\r\n const quotaMap = this.getQuotaMapByDto(dto);\r\n\r\n // 分别计算三个维度\r\n if (quotaMap.WIDTH) {\r\n size.width = this.calculateValue(size.width, quotaMap.WIDTH);\r\n }\r\n\r\n if (quotaMap.HEIGHT) {\r\n size.height = this.calculateValue(size.height, quotaMap.HEIGHT);\r\n }\r\n\r\n if (quotaMap.DEPTH) {\r\n size.depth = this.calculateValue(size.depth, quotaMap.DEPTH);\r\n }\r\n\r\n return size;\r\n }\r\n\r\n /**\r\n * 获取计算规则配置\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算规则配置\r\n */\r\n static getQuotaMapByDto(dto) {\r\n // 返回默认规则\r\n return {\r\n 'WIDTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'HEIGHT': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'DEPTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 }\r\n };\r\n }\r\n\r\n /**\r\n * 根据计算规则处理值\r\n * @param {number} value 原始值\r\n * @param {Object} quota 计算规则\r\n * @returns {number} 计算后的值\r\n */\r\n static calculateValue(value, quota) {\r\n const { operatorType, addValue, multipleValue } = quota;\r\n let result = value;\r\n\r\n // 将字符串转换为数字\r\n const numAddValue = parseFloat(addValue || 0);\r\n const numMultipleValue = parseFloat(multipleValue || 1);\r\n\r\n // 根据操作类型进行计算\r\n switch (operatorType) {\r\n case this.ProductAttrQuotaOperatorTypeEnum.ADD_MULTIPLE:\r\n // 先加后乘\r\n result = (result + numAddValue) * numMultipleValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.MULTIPLE_ADD:\r\n // 先乘后加\r\n result = result * numMultipleValue + numAddValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.NORMAL:\r\n default:\r\n // 不做特殊处理\r\n break;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n */\r\n static isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n // 检查参数有效性\r\n if (!measureUnit || !dimension) {\r\n return false;\r\n }\r\n \r\n // 标准化尺寸名称\r\n const normalizedDimension = dimension.toLowerCase();\r\n if (!['width', 'height', 'depth'].includes(normalizedDimension)) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果指定了计算方法,根据计算方法判断\r\n if (calculationMethod) {\r\n switch (calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return normalizedDimension === 'width' || normalizedDimension === 'height';\r\n case 'WIDTH_DEPTH':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'HEIGHT_DEPTH':\r\n return normalizedDimension === 'height' || normalizedDimension === 'depth';\r\n case 'PERIMETER':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'WIDTH':\r\n return normalizedDimension === 'width';\r\n case 'HEIGHT':\r\n return normalizedDimension === 'height';\r\n case 'DEPTH':\r\n return normalizedDimension === 'depth';\r\n case 'CUSTOM_LENGTH':\r\n return normalizedDimension === 'width'; // 默认使用宽度作为自定义长度的备选\r\n default:\r\n // 使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n }\r\n \r\n // 如果没有指定计算方法,使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n\r\n /**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n */\r\n static isDimensionRelated(measureUnit) {\r\n // 检查参数有效性\r\n if (!measureUnit) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果单位维度大于0或者有必需尺寸,则与尺寸计算相关\r\n return unit.dimension > 0 || unit.requiredDimensions.length > 0;\r\n }\r\n}\r\n\r\nmodule.exports = ItemUnitMeasureCalculator; ","/**\r\n * 产品计量计算工具方法\r\n * 功能:根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\n\r\nconst ItemUnitMeasureCalculator = require('./utils/MeasureCalculator')\r\nconst { formatDecimal } = require('../../../utils/common.util');\r\n\r\n/**\r\n * 参数验证函数\r\n * @param {Object} params - 请求参数\r\n * @throws {Error} 当参数验证失败时抛出\r\n */\r\nfunction validateParams(params) {\r\n const { measureUnit, width, height, depth } = params;\r\n const errors = [];\r\n\r\n // 验证计量单位\r\n if (!measureUnit) {\r\n errors.push('缺少必要参数:计量单位');\r\n } else if (typeof measureUnit !== 'string') {\r\n errors.push('计量单位必须是字符串');\r\n }\r\n\r\n // 验证宽度、高度、深度为数字或可转换为数字的值\r\n const dimensions = [\r\n { name: '宽度', value: width },\r\n { name: '高度', value: height },\r\n { name: '深度', value: depth }\r\n ];\r\n\r\n dimensions.forEach(dim => {\r\n if (dim.value !== null && dim.value !== undefined && dim.value !== '' && isNaN(Number(dim.value)) && !Array.isArray(dim.value)) {\r\n errors.push(`${dim.name}必须是数字或数组`);\r\n }\r\n \r\n if (Array.isArray(dim.value)) {\r\n const hasInvalidValue = dim.value.some(v => isNaN(Number(v)) || Number(v) < 0);\r\n if (hasInvalidValue) {\r\n errors.push(`${dim.name}数组中的值必须是大于等于0的数字`);\r\n }\r\n } else if (dim.value !== null && dim.value !== undefined && dim.value !== '' && Number(dim.value) < 0) {\r\n errors.push(`${dim.name}不能小于0`);\r\n }\r\n });\r\n\r\n if (errors.length > 0) {\r\n throw new Error(errors.join('; '));\r\n }\r\n}\r\n\r\n/**\r\n * 产品计量值计算工具函数\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction calculateProductMeasure(params) {\r\n try {\r\n // 1. 参数验证\r\n if (!params.measureUnit) {\r\n return 0;\r\n }\r\n // 2. 执行计算\r\n const calculationResult = ItemUnitMeasureCalculator.findItemUnitMeasure({\r\n measureUnit: params.measureUnit,\r\n width: params.width || 0,\r\n height: params.height || 0,\r\n depth: params.depth || 0,\r\n calculationMethod: params.calculationMethod,\r\n customLength: params.customLength\r\n });\r\n\r\n // 3. 格式化结果\r\n const result = formatDecimal(calculationResult, 3) || 0;\r\n\r\n // 4. 返回计算计量值\r\n return result;\r\n } catch (error) {\r\n // 直接抛出错误,不再包装为特定响应结构\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit - 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getMeasureUnitInfo(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.getMeasureUnitInfo(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * 获取用量\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {number} params.count - 数量\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction getUsage(params) {\r\n try {\r\n const measure = formatDecimal(calculateProductMeasure(params) || '0', 6, true);\r\n return measure * params.count\r\n } catch (error) {\r\n throw error; \r\n }\r\n}\r\n\r\n/**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getAllMeasureUnits() {\r\n try {\r\n return ItemUnitMeasureCalculator.getAllMeasureUnits();\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRequired(measureUnit, dimension, calculationMethod);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRelated(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRelated(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取产品计量单位枚举列表\r\n * @returns {Array} 返回格式为 [{ name: '件', code: 'PC' }] 的计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getProductUnitMeasureEnum() {\r\n try {\r\n const enumObj = ItemUnitMeasureCalculator.ProductUnitMeasureEnum;\r\n const result = [];\r\n \r\n // 遍历枚举对象,过滤掉方法和非对象属性\r\n for (const key in enumObj) {\r\n if (typeof enumObj[key] === 'object' && enumObj[key] !== null && key !== 'getByName') {\r\n result.push({\r\n name: enumObj[key].label,\r\n code: enumObj[key].name\r\n });\r\n }\r\n }\r\n \r\n return result;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n// 导出工具函数\r\nmodule.exports = {\r\n getUsage,\r\n calculateProductMeasure,\r\n getMeasureUnitInfo,\r\n getAllMeasureUnits,\r\n isDimensionRequired,\r\n isDimensionRelated,\r\n getProductUnitMeasureEnum,\r\n ItemUnitMeasureCalculator\r\n}; ",null,null,null,null,null,null,null,null],"names":["solution_status","SOLUTION_ITEM_AUDIT_STATUS","design_type","CURRENCY_UNIT_ENUM","supply_mode","IM_GROUP_TYPE","RECOMMENDATION_TYPE_ENUM","pro_series_type_enum","sales_end_app_tag","solution_price_type","spatial_category","house_status","house_type","price_flag","rounding_rule","assign_business_type","BUSINESS_SCOPE_ENUM","BUSINESS_WORK_PHASE_ENUM","CONTRACT_STATE_ENUM","AMOUNT_DECIMAL_VALUE_ENUM","AMOUNT_DECIMAL_TYPE_ENUM","SIGN_STYLE","MQ_RECEIPT_TYPE_ENUM","CUSTOMER_CLASSIFICATION_ENUM","__enumsPlaceholder","solution_status_options","name","value","DRAFT","ACTIVE","LOCKED","REVOKED","PRE_SIGNED","SIGNED","SIGNED_REVOKED","STAY_AUDIT","REJECTED","COMPLETED","design_type_options","BUDGET","MODEL_ROOM_EX","COMMUNITY_EX","ORDER","CONTRACT","SCALE","ABNORMAL_SOLUTION","order_status","order_status_options","NULLIFIED","OPEN","CURRENCY_UNIT_OPTIONS","CNY","USD","EUR","GBP","HKD","supply_mode_options","own_production","brand_agency","wholesale_procur","cross_border_pro","oem_contract","agency_purchase","behalf_purchase","IM_GROUP_TYPE_OPTION","INTERNAL","CUSTOMER","SHARE","DICTIONARY_IDENTIFY_ENUM","CUSTOMER_SOURCE_ENUM","DICTIONARY_CUSTOMER_SOURCE_OPTIONS","label","OTO_TOURIST_SOURCE","GROUP_OTO","TMALL","TENCENT_PLATFORM","DA_ZHONG_DIAN_PING","STORE_SALES","OFFICIAL_REGISTRATION","CITY_OTO","COMMUNITY_MARKETING_ACCOUNTS","MERCHANT_WE_MEDIA_REGISTRATION","PRIVATE_DOMAIN","CUSTOMER_RECOMMENDATION","ON_GOING_CUSTOMER_REFERRAL","OLD_CUSTOMER_REFERRAL","RECOMMENDED_BY_SEED_CUSTOMER","MALL_TRAFFIC_FLOW","NATURAL_TRAFFIC","EVENT_TRAFFIC","ADVERTISING_TRAFFIC","SOCIAL_COMMUNITY_CUSTOMER","SELF_BUILT_COMMUNITY","SELF_BUILT_EVENT_COMMUNITY","MALL_MARKETING_COMMUNITY","ALLIANCE_COOPERATION","INTERIOR_DESIGNER_COLLABORATION","FRACTURED_CUSTOMER_REFERRAL","HOME_IMPROVEMENT_COMPANY_COLLABORATION","MAIN_MATERIAL_MERCHANT_COLLABORATION","MAIN_MATERIAL_SALES_COLLABORATION","NON_INDUSTRY_ALLIANCE","DEVELOPER_COLLABORATION","PROPERTY_COLLABORATION","MALL_COLLABORATION","BANK_COOPERATION","EMPLOYEE_REFERRAL","BE_ON_THE_JOB_EMPLOYEE_REFERRAL","EARLY_EMPLOYEE_REFERRAL","OTHER_SOURCE","SCAN_EMPLOYEE_QR_CODE","PROCESS_STAGE_ENUM","DICTIONARY_PROCESS_STAGE_OPTIONS","INFORMATION","CUSTOMER_SOURCE","LINK_IN_TRANSIT","MEETING_IN_TRANSIT","INTENTION_IN_TRANSIT","ORDER_FORM","ASSIGN_DESIGNER","MEASURE_IN_TRANSIT","SOLUTION_QUOTATION","CONTRACT_IN_TRANSIT","COMPOUND_RULER","PURCHASE_IN_TRANSIT","PRODUCTION","LOGISTICS_IN_TRANSIT","STORAGE_IN_TRANSIT","INSTALL_IN_TRANSIT","DELIVER_IN_TRANSIT","OLD_CUSTOMER","CUSTOMER_LABEL_ENUM","DICTIONARY_CUSTOMER_LABEL_OPTIONS","UNGROUPED","DICTIONARY_BUSINESS_SCOPE_OPTIONS","SELF_OPERATED_PRODUCT","AGENCY_PURCHASE_SALES","INTERIOR_DESIGN","ENGINEERING_CONSTRUCTION","DICTIONARY_BUSINESS_WORK_PHASE_OPTIONS","MARKETING","SALES","DESIGN","INSTALLATION","AFTER_SALES","DICTIONARY_CUSTOMER_CLASSIFICATION_OPTIONS","PASSERBY","FRACTURED_CUSTOMER","OTO_ASSIGNMENT","ON_THE_WAY_CUSTOMER","KEY_FOCUS","DICTIONARY_ATTRIBUTE_OPTIONS_MAP","PROCESS_STAGE","CUSTOMER_LABEL","BUSINESS_SCOPE","BUSINESS_WORK_PHASE","CUSTOMER_CLASSIFICATION","DICTIONARY_IDENTIFY_OPTIONS","POSITION","BEDROOM","DELIVERY_TIME_OPTION","HOUSE_INFORMATION","HOUSE_SQUARE_METERS","PROJECT_CLASSIFICATION","PROJECT_TYPE","PROJECT_SOLUTION","PROJECT_TAG","PROJECT_TEMPLATE_LEVEL","PROJECT_WORK_ITEM","BUILDING_DEVELOPER","recommendation_type_options","DESIGN_ALLIANCE","DIFFERENT_DESIGN_ALLIANCE","EMPLOYEE_RECOMMENDATION","WECHAT_GROUPS","pro_series_type_options","SERIES","STYLE","spatial_category_options","KITCHEN","LIVING_ROOM","RESTAURANT","MASTER_BEDROOM","SECOND_BEDROOM","CLOAKROOM","YOUNGSTER_ROOM","STUDY","MASTER_BATHROOM","SECOND_BATHROOM","HALLWAY","BALCONY","STOREROOM","OTHER_SPACE","house_status_options","DELIVERED_HOUSE","UNDEVELOPED_HOUSE","UNCERTAIN_DELIVERY","house_type_options","LUXURY_HOUSE","BARE_SHELL_HOUSE","SECOND_HAND_HOUSE","UNDETERMINED","ListType","price_flag_options","stdConf","gift","present","package","positive","specialPrice","fixPrice","returnedPurchase","refund","sample","returning_inventory","backup_warehouse","sec_kill_product","activity_product","product_stock","PRICE_FLAG_LIST_TYPE_MAP","QUOTATION_SOLUTION","getPriceFlagOptionsByListType","listType","availableFlags","length","filter","option","includes","isPriceFlagValidForListType","flag","rounding_rule_options","SINGLE_ROUND","SINGLE_SET_EIGHT","SINGLE_SET_NINE","SINGLE_SET_TEN","SINGLE_PLUS_ONE","TEN_PLUS_ONE","SINGLE_TEN_PLUS_ONE","assign_business_type_options","ESTATE","AMOUNT_DECIMAL_VALUE_OPTIONS","AMOUNT_KEEP_1_DECIMAL_PLACE","AMOUNT_KEEP_2_DECIMAL_PLACE","AMOUNT_KEEP_3_DECIMAL_PLACE","AMOUNT_KEEP_4_DECIMAL_PLACE","CONTRACT_STATUS_OPTIONS","VOIDED","SIGN_STAY_FOR_ME","SIGN_STAY_CUSTOMER","STAY_REPORTED","UNDER_REVIEW","STAY_SCALE","STAY_SCALE_REPORTED","SCALE_UNDER_REVIEW","SCALE_REJECTED","SCALE_COMPLETED","SIGN_STYLE_OPTIONS","ONLINE_SIGN","PRINT_SIGN","SALES_END_APP_TAG_OPTIONS","STANDARD_RETAIL","ACTUAL_RETAIL","SETTLEMENT_PRICE","EXCLUSIVE_PACKAGE_PRICE","ProductUnitMeasure","ProductUnitMeasureCN","PRODUCT_UNIT_MEASURE","code","PC","english","EA","SET","BAN","SAG","VOL","BOX","PAIL","CAN","TAI","CAR","PAK","STP","ZHI","ZII","SLC","BLK","ZHG","PAL","GEN","FAN","REEL","PAIR","GROUP","STEP","M","LM","H2W1","MM","INC","M2","PM2","FM2","M3","L","ML","KG","TON","WORKLOAD","PRODUCT_UNIT_MEASURE_OPTIONS","map","item","getProductUnitMeasureByCode","find","getProductUnitMeasureByName","__constantsPlaceholder","__interfacesPlaceholder","formatDecimal","decimalPlaces","undefined","places","Math","max","floor","factor","pow","round","calcStandardPrice","children","totalChildrenPrice","forEach","childItem","calcActualPrice","count","measure","unitPrice","priceFlag","safeMeasure","safeCount","safePrice","safeCoefficient","productCoefficient","priceFlagEnum","standardAmount","result","itemDiscount","abs","calcItemUnitPrice","console","warn","itemId","uuid","calcTaxAmount","safeRate","taxRate","actualPrice","managementFeeAmount","managementFeeRate","calcTaxFeePrice","enableTaxRate","enableManagementFeeRate","taxAmount","managementFee","generateUUID","replace","c","r","random","toString","generateRandomId","chars","i","formatNumberWithCommas","valueStr","trim","number","parseFloat","isNaN","parts","split","integerPart","decimalPart","formattedInteger","findOptionByValue","options","valueField","strictOrField","Array","isArray","strict","field","getFileExtension","filename","_a","pop","toLowerCase","formatChineseMobile","phone","digits","test","slice","decimals","parseNumber","num","Number","toFixed","applyAmountDecimal","decimalType","fixed","AMOUNT_DO_NOT_RETAIN_DECIMALS","PRODUCT_CATEGORIES","WALLBOARD","VENEER","FULL_LENGTH_MIRROR","STAY_WIRE","PASS","COSTS","GAS_PIPE","SOFT_BED","DCJGF","WAT","WAT_THERMAL_SOUND","parentKey","WAT_SUPPLY","WAT_DRAINAGE","DESIGN_COSTS","DECORATIVE_LIGHTS","CLOS_PLATE","SKELETON_ARRANGEMENT","ACCESSORIES","WATER_TREATMENT","GUIDAO","ELEC","CIRCULAR_TABLE","DECORATIVE_PARTS","RUBBER_STRIP","PLUG","DECORATIVE_COLUMN","COVER_PLATE","DECORATIVE_PLATE","OTHER_ACCESSORIES","LMLJGF","WAIST_LINE","BAR_CHAIR","STRUCTURE_PROFILES","REMOTE_CONTROL","WALLPAPER","COLUMN","LATEX_PAINT","GIFTS","SLATE","BAR_COUNTER","STORAGE","PLATFORM","SUSPENDED_CEILING","BACK_SEVERAL","WALL_PANEL_FRAME","RATE_COUPON","CEMENT_MORTAR","DECORATIVE_PART","HANGING_CODE","SKIRTING_BOARD","WINDOW_CURTAINS","SHAD_CLOTH","SOFT_COVER","DECORATIVE_STONE","MESA","FUNCTIONAL_PART","CORE_BOARD","TABLE","CREATE","CREATE_LIGHT_STEEL_JOIST_WALL","CREATE_WALL","INSTALL","LIGHT_FIX_INSTALL","STONE_INSTALL","DRILL_HOLE_INSTALL","SANITARY_WARE_INSTALL","CPL","INTELLIGENCE_ELECTRICAL","DISHWASHER","STERILIZER","AGITATOR","STOVE","PURIFIER","RADIANT_COOKER","DRYER","HEATER","DISINFECTION_CABINET","WASHING_MACHINE","INTELLIGENT_PLUG_IN","MICROWAVE_OVEN","SMOKE_MACHINE","ADDTIONAL","SMART_TRASH_CAN","SLAG_CRUSHER","WATER_PURIFIER","TRANSFORMER","INTELLIGENCE_ELECTRICAL_APPARATUS","ELECTRIC_OVEN","GAS_STOVE","ELECTRIC_STEAMER","PROXYELE","LAMPS_AND_LANTERNS","QIANXIAN","LOUNGE_CHAIR","JEWELRY_HANGER","DRESS_STOOL","CLOTH","SCJGF","WALL","WALL_WOOD_BASE","WALL_SUPPORT","WALL_DECORATE","WALL_TIL","DINGING_CHAIR","CASH_COUPON","OTHER","CABINET_PANEL","SPLIT_HALL_CABINET","SHOE_CABINET","CUSTOMIZED_UNIT","HANG_GRID","WOODINESS_CD","BOOKCASE","BOX_STRUCTURE","WINE_GRID","TIE_GRID","GEO_GRID","BATHROOM_CABINET","SIDE_CABINET","SEMI_HIGH_LATTICE","DRAWER_CABINET","CYLINDER_CABINET","HALF_HEIGHT_CABINET","DECORATIVE_CABINET","KEYBOARD_HOLDER","DISPLAY_CABINET","SLIDE_DOOR_CABINET","ELEVATED_CABINET","BALCONY_CABINET","CELLS","SHOE_HAT_CABINET","WALL_CABINET","SHIRT_PALLET","WARDROBE","GRIDBOARD","TV_CABINET","WALL_MOUNTED_WARDROBE","HALL_CABINET","BEDSIDE","CONSOLE_CABINET","BED_CABINET","BOARD","BOX_BOARD","BEAR_BOARD","SIDE_BOARD","VERTICAL_SUPPORT_BOARD","TOP_BOARD","INCLINED_LAYER_BOARD","CONNECTING_BOARD","BOTTOM_BOARD","SHELF_BOARD","T_FIXTURE_BOARD","L_FIXTURE_BOARD","MID_VERTICAL_BOARD","DIVIDING_INTI_GRIDS","CABINET_IN_CABINET","SHOE_BOX","FIXTURE","ISLAND_PLATFORM","CYLINDER_CABINET_HIGH_LATTICE","CABINET_STYLE_WARDROBE","MIRROR_CABINET","COLUMN_WARDROBE","STORAGE_CABINET","WATER_BASIN_CABINET","FLOOR_CABINET","INSERT_GRID","BASE_GRID","BACKGROUND_PLATE","INSERT_UNIT","WINE_CABINET","TABLEWARE","WINE_GRILLE_HOLDER","OPEN_LATTICE","CORNER_TABLE","SHOE_RACK","BOOKSHELF","ELE","ELE_WEAK_GALVANIZED","ELE_SPECIALIZED_FURNISH","ELE_PVC_PIPE","ELE_WEAK_WIRE","ELE_ASSISTANCE","ELE_WIRE","WAT_SLOTTING","ELE_GALVANIZED","ELE_WEAK_BOX","ELE_WEAK_PVC_PIPE","COMMODE","UNIT_CABINET_PANEL","LOCK_SET","YARN_MANTLE","SPECIAL","SIDE_TABLE","FUNCTIONAL_HARDWARE","COOKER","BOTTLE_OPENER","HANDLES","DRAWER","LIGHT_BELT","HANGER_ROD","DAMPER","OTHER_HARDWARE","COUPLE","CAN_OPENER","HARDWARE_ACCESSORIES","WATERPROOF_PARTS","FAUCET","SLIDE_DOOR_HARDWARE","STOP","SWITCH","COAT_HANGER","HINGE","COUPLING_HEAD","INTELLIGENCE_HARDWARE","SLIDE_RAIL","WATER_BASIN","PULL_BASKET","FLOODLIGHT","CLOTHES_RAIL","REBOUND_DEVICE","BRACE","DISC_EXTRACTOR","SLIDE_DOOR","SCREEN","BENCH","PARAPET_WALL_BOARD","OFFICE_CHAIR","QIANGGOU","RIBBON_CLOTH","SANITARY_WARE","TRAY","PROTECT","MATERIAL_HAND_PROTECT","GARBAGE_DISPOSAL_PROTECT","LONG_RANGE_PROTECT","LOFT_PROTECT","N_SPECIAL","LB","QIANPIAN","DRESSER","ACTIVITY","TEA_TABLE","DECORATIVE_LINE","CARPET","HALF_PASS","CHAIR","CERAMICTILE","ELECTRIC_MODULE","DOOR_BOARD","FITTED_SHEET","BED","Fabric","CURTAIN_CLOTH","SOFA","BASIN","BATHROOM_MIRROR","CUSHION","DECORATIVE_LACE_YARN_MANTLE","FOLDING_SCREEN","MATTRESS","DESK","TJX","REMOVE","REMOVE_GROUND","REMOVE_WALL","REMOVE_SUSPEND_CEIL","REMOVE_METOPE","REMOVE_NEW_WORK_ITEM","GROUND","GROUND_TIL","GROUND_WOOD","GROUND_POINT","GROUND_HANDLE","ADJUSTING_PLATE","CUSTOM_PARTS","CORNET","SOFA_ROLL","TECHNOLOGY","BUILD_WALLS","PAINT","LI_XIE_QI","MORTAR_MIX","DOOR_LINTEL","PLANT_TENDONS","PRE_ARRANGED_POSIT","AN_DI_LIANG","SPREAD","REINFORCEMENT_COMPONENTS","TOP","TOP_LINE","TUYERE","SUSPENDED_SUPPORT","PLATFOND_WATER_RESISTANCE","PLATFOND","PELMET","PULLEY","PENDANT","YANGPIN","BRICK","INNER_DOOR","DOOR_LOCK","DOOR_HEADER","DOOR_JAMB","DOOR_STOPPER","DOOR_LEAF","UPGRADE_COSTS","STRUCTURAL_COMPONENTS","ALUMINUM_WIRE_CONNECTOR","OUTRIGGER","ALLOY_CLIP","LAMINATE_SUPPORT","EXPANSION_SCREW","WALL_HANGING_SUPPORT","ALUMINUM_PROFILE_COMPONENTS","STRUCTURAL_ADHESIVE","GRILLE","CIVIL_ENGINEERING","CIVIL_ENGINEERING_CREATE","CIVIL_ENGINEERING_REMOVE","WATERPROOF_BOARD","BATHTUB","ALUMINUM_FRAME","PORCH","ACCESSORIES_YARN_MANTLE","BANDING","NON_SLIP_MAT","DRESS_UNIT","FLOOR","CUSTOMIZED_TABLE_RACK","FITT","getProductCategoryByKey","categoryKey","getAllProductCategories","Object","entries","category","getSortedGroupTypes","groupCategoryMap","values","sort","a","b","order","getGroupTypeByKey","groupTypeKey","getProductCategoriesByGroupType","productCategoryMap","groupType","mainCategory","productCategories","findCategoryByKey","push","categoryName","categoryCode","some","productCategoryKey","keys","categories","key","childCategory","getPriceParamsByGroupType","categoryPriceUnit","priceUnit","excludeCategoryPriceUnit","excludePriceUnit","getClassifyRoomsAndGroups","classifyType","classifyRoomGroupMap","roomOptions","classifyMap","roomGroups","roomGroup","roomCode","room","roomName","parentCode","parentName","parentSort","roomSort","targetRoom","child","groupsData","groups","groupCode","groupInfo","productCategoriesData","groupName","groupSort","getGroupsByClassifyAndRoom","roomType","rg","getClassifyBaseInfo","classifyCode","classifyInfo","icon","matchUnit","getGroupTypeByProductCategory","productCategory","mainCategoryCode","availableGroups","Set","add","bestMatchGroupKey","mainCategoryMatchGroupKey","mainCategoryMatches","mcCode","toUpperCase","productCategoryMatches","error","groupTypesMap","actualProductCategory","mainCategoryObj","MeasureCalculator","static","simpleLabel","enName","dimension","scale","requiredDimensions","getCount","apply","countParam","CELL","width","height","depth","getByName","this","NORMAL","ADD_MULTIPLE","MULTIPLE_ADD","findItemUnitMeasure","dto","calculateSizeByConfig","unitCode","ProductUnitMeasureEnum","unit","measureUnit","calculationMethod","calculateByUnitDefinition","customLength","getMeasureUnitInfo","methods","description","defaultMethod","getAllMeasureUnits","unitInfo","size","quotaMap","getQuotaMapByDto","WIDTH","calculateValue","HEIGHT","DEPTH","operatorType","addValue","multipleValue","quota","numAddValue","numMultipleValue","ProductAttrQuotaOperatorTypeEnum","isDimensionRequired","normalizedDimension","isDimensionRelated","ItemUnitMeasureCalculator","require$$0","require$$1","calculateProductMeasure","params","calculationResult","getUsage","getProductUnitMeasureEnum","enumObj","calculateProductDosage","rowData","CUSTOM_FURNITURE","editSections","skuAttriCode","expand","attributes","type","required","dependency","isMainProduct","baseAttribute","min","default","labelKey","TOTAL_CUPBOARD","FINISHED_CABINET","FINISHED_PRODUCT","viewSettingBuilder","setting","rest","log","viewSetting","JSON","stringify","index","replaceTemplate","repeat","replaceAll","parse","getCategoryViewSetting","viewType","QuotationItem","constructor","config","productId","supplyPrice","productPriceId","spuName","unitLabel","spuId","brandId","brandName","classifyId","classifyName","model","supplyMode","outlineDemension","parentCategoryCode","parentCategoryName","styleId","styleName","schemeName","originWidth","originHeight","originDepth","skuAttributes","moveDirection","location","crimpRatio","openWidth","measureCalcParams","isExclusivePackage","standardPrice","taxFeePrice","dosage","remark","picture","components","assign","PRIVILEGE_STATE_ENUM","PRIVILEGE_STATUS_OPTIONS","TO_BE_REVIEW","APPROVED","CONTRACT_CANCEL_TYPE","CONSUMER_GROUP_ENUM","PLACE_ORDER_TYPE_ENUM"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/enums/solution-status.enum.ts","../src/enums/solution-item-audit-status.enum.ts","../src/enums/design-type.enum.ts","../src/enums/currency-unit.enum.ts","../src/enums/supply-mode.enum.ts","../src/enums/im_group_type.enum.ts","../src/enums/recommendation-type.enum.ts","../src/enums/pro_series_type.enum.ts","../src/enums/sales_end_app_tag.enum.ts","../src/enums/solution_price_type.enum.ts","../src/enums/spatial-category.enum.ts","../src/enums/house-status.enum.ts","../src/enums/house-type.enum.ts","../src/enums/price-flag.enum.ts","../src/enums/rounding-rule.enum.ts","../src/enums/assign-business-type.enum.ts","../src/enums/business-scope.enum.ts","../src/enums/business-work-phase.enum.ts","../src/enums/contract-state.enum.ts","../src/enums/amount-decimal-value.enum.ts","../src/enums/amount-decimal-type.enum.ts","../src/enums/sign-style.enum.ts","../src/enums/mq-receipt-type-enum.ts","../src/enums/customer-classification.enum.ts","../src/enums/index.ts","../src/constants/solution-status-options.constant.ts","../src/constants/design-type-options.constant.ts","../src/enums/order-status.enum.ts","../src/constants/order-status-options.constant.ts","../src/constants/currency-unit-options.constant.ts","../src/constants/supply-mode-options.constant.ts","../src/constants/im-group-type-options.constants.ts","../src/enums/dictionary-identify.enum.ts","../src/enums/customer-source.enum.ts","../src/constants/dictionary-customer-source-options.constant.ts","../src/enums/process-stage.enum.ts","../src/constants/dictionary-process-stage-options.constant.ts","../src/enums/customer-label.enum.ts","../src/constants/dictionary-customer-label-options.constant.ts","../src/constants/dictionary-business-scope-options.constant.ts","../src/constants/dictionary-business-work-phase-options.constant.ts","../src/constants/dictionary-customer-classification-options.constant.ts","../src/constants/dictionary-attribute-options.constant.ts","../src/constants/dictionary-identify-options.constant.ts","../src/constants/recommendation-type-options.constant.ts","../src/constants/pro_series_type_enum.constant.ts","../src/constants/spatial-category-options.constant.ts","../src/constants/house-status-options.constant.ts","../src/constants/house-type-options.constant.ts","../src/constants/price-flag-options.constant.ts","../src/constants/rounding-rule-options.constant.ts","../src/constants/assign-business-type-options.constant.ts","../src/constants/amount-decimal-value-constant.ts","../src/constants/contract-status-options.constant.ts","../src/constants/sign-style-options.constant.ts","../src/constants/sales-end-app-tag.constant.ts","../src/enums/product-unit-measure.enum.ts","../src/constants/product-unit-measure.constant.ts","../src/constants/index.ts","../src/interfaces/index.ts","../src/utils/solution.util.ts","../src/utils/common.util.ts","../src/modules/solution/productCategories.ts","../src/modules/solution/groupTypes.ts","../src/modules/solution/classifyRoomGroupMap.ts","../src/modules/solution/measure/utils/MeasureCalculator.js","../src/modules/solution/measure/index.js","../src/modules/solution/dosage/index.ts","../src/modules/solution/categoryFormMap.ts","../src/modules/solution/models/QuotationItem.ts","../src/enums/privilege-status.enum.ts","../src/constants/privilege-status-options.constant.ts","../src/enums/contract-cancel-type.enum.ts","../src/enums/mq-consumer-group-enum.ts","../src/enums/place-order-type.enum.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\r\n * 产品单元计量计算工具\r\n * 用于根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\nclass ItemUnitMeasureCalculator {\r\n /**\r\n * 计量单位枚举\r\n */\r\n static ProductUnitMeasureEnum = {\r\n // 计件类单位\r\n PC: {\r\n name: 'PC',\r\n label: '件',\r\n simpleLabel: '件',\r\n enName: 'Place',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n EA: {\r\n name: 'EA',\r\n label: '个',\r\n simpleLabel: '个',\r\n enName: 'Each',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CELL: {\r\n name: 'CELL',\r\n label: '节',\r\n simpleLabel: '节',\r\n enName: 'cELL',\r\n dimension: 0,\r\n scale: 1,\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SET: {\r\n name: 'SET',\r\n label: '套',\r\n simpleLabel: '套',\r\n enName: 'Set',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BAN: {\r\n name: 'BAN',\r\n label: '把',\r\n simpleLabel: '把',\r\n enName: 'Ban',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SAG: {\r\n name: 'SAG',\r\n label: '袋',\r\n simpleLabel: '袋',\r\n enName: 'Bag',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n VOL: {\r\n name: 'VOL',\r\n label: '本',\r\n simpleLabel: '本',\r\n enName: 'Volume',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BOX: {\r\n name: 'BOX',\r\n label: '箱',\r\n simpleLabel: '箱',\r\n enName: 'Boxful',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIL: {\r\n name: 'PAIL',\r\n label: '桶',\r\n simpleLabel: '桶',\r\n enName: 'Pail',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAN: {\r\n name: 'CAN',\r\n label: '罐',\r\n simpleLabel: '罐',\r\n enName: 'Can',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n TAI: {\r\n name: 'TAI',\r\n label: '台',\r\n simpleLabel: '台',\r\n enName: 'Tai',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAR: {\r\n name: 'CAR',\r\n label: '盒',\r\n simpleLabel: '盒',\r\n enName: 'Carton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAK: {\r\n name: 'PAK',\r\n label: '包',\r\n simpleLabel: '包',\r\n enName: 'Package',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STP: {\r\n name: 'STP',\r\n label: '条',\r\n simpleLabel: '条',\r\n enName: 'Strip',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHI: {\r\n name: 'ZHI',\r\n label: '只',\r\n simpleLabel: '只',\r\n enName: 'Zhi',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZII: {\r\n name: 'ZII',\r\n label: '支',\r\n simpleLabel: '支',\r\n enName: 'Zii',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SLC: {\r\n name: 'SLC',\r\n label: '片',\r\n simpleLabel: '片',\r\n enName: 'Slice',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BLK: {\r\n name: 'BLK',\r\n label: '块',\r\n simpleLabel: '块',\r\n enName: 'Block',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHG: {\r\n name: 'ZHG',\r\n label: '张',\r\n simpleLabel: '张',\r\n enName: 'Zhang',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAL: {\r\n name: 'PAL',\r\n label: '货盘',\r\n simpleLabel: '货盘',\r\n enName: 'Pallet',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GEN: {\r\n name: 'GEN',\r\n label: '根',\r\n simpleLabel: '根',\r\n enName: 'Gen',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n FAN: {\r\n name: 'FAN',\r\n label: '扇',\r\n simpleLabel: '扇',\r\n enName: 'Fan',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n REEL: {\r\n name: 'REEL',\r\n label: '卷',\r\n simpleLabel: '卷',\r\n enName: 'Reel',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIR: {\r\n name: 'PAIR',\r\n label: '副',\r\n simpleLabel: '副',\r\n enName: 'Pair',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GROUP: {\r\n name: 'GROUP',\r\n label: '组',\r\n simpleLabel: '组',\r\n enName: 'Group',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STEP: {\r\n name: 'STEP',\r\n label: '步',\r\n simpleLabel: '步',\r\n enName: 'Step',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 长度类单位\r\n M: {\r\n name: 'M',\r\n label: '米',\r\n simpleLabel: '米',\r\n enName: 'Metre',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n LM: {\r\n name: 'LM',\r\n label: '延米',\r\n simpleLabel: '延米',\r\n enName: 'LinearMeter',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n H2W1: {\r\n name: 'H2W1',\r\n label: '门套延米',\r\n simpleLabel: 'tm',\r\n enName: 'Tow',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (2 * height + width) / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n MM: {\r\n name: 'MM',\r\n label: '毫米',\r\n simpleLabel: '毫米',\r\n enName: 'MilliMetre',\r\n dimension: 1,\r\n scale: 10,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width; // 直接返回毫米值\r\n }\r\n })\r\n },\r\n INC: {\r\n name: 'INC',\r\n label: '英寸',\r\n simpleLabel: '英寸',\r\n enName: 'Inch',\r\n dimension: 1,\r\n scale: 304,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 25.4; // 毫米转英寸\r\n }\r\n })\r\n },\r\n \r\n // 面积类单位\r\n M2: {\r\n name: 'M2',\r\n label: '平米',\r\n simpleLabel: '㎡',\r\n enName: 'SquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n PM2: {\r\n name: 'PM2',\r\n label: '投影平米',\r\n simpleLabel: 'pm²',\r\n enName: 'ProjectionSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n FM2: {\r\n name: 'FM2',\r\n label: '立面平米',\r\n simpleLabel: 'fm²',\r\n enName: 'FacadeSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n \r\n // 体积类单位\r\n M3: {\r\n name: 'M3',\r\n label: '立方米',\r\n simpleLabel: 'm²',\r\n enName: 'CubicMetre',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000000; // 毫米³转立方米\r\n }\r\n })\r\n },\r\n L: {\r\n name: 'L',\r\n label: '公升',\r\n simpleLabel: '公升',\r\n enName: 'Liter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000; // 毫米³转升(1升=1000cm³)\r\n }\r\n })\r\n },\r\n ML: {\r\n name: 'ML',\r\n label: '毫升',\r\n simpleLabel: '毫升',\r\n enName: 'MilliLiter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000; // 毫米³转毫升(1毫升=1cm³)\r\n }\r\n })\r\n },\r\n \r\n // 重量类单位\r\n KG: {\r\n name: 'KG',\r\n label: '千克',\r\n simpleLabel: 'kg',\r\n enName: 'Kilogram',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1kg\r\n })\r\n },\r\n TON: {\r\n name: 'TON',\r\n label: '吨',\r\n simpleLabel: 't',\r\n enName: 'Ton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1吨\r\n })\r\n },\r\n \r\n // 其他类型\r\n WORKLOAD: {\r\n name: 'WORKLOAD',\r\n label: '工作量',\r\n simpleLabel: '工作量',\r\n enName: 'workload',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 根据名称获取枚举\r\n getByName: function(name) {\r\n if (!name) return null;\r\n for (const key in this) {\r\n if (this[key] && this[key].name === name) {\r\n return this[key];\r\n }\r\n }\r\n return null;\r\n }\r\n };\r\n\r\n /**\r\n * 计算规则操作类型枚举\r\n */\r\n static ProductAttrQuotaOperatorTypeEnum = {\r\n NORMAL: 'NORMAL', // 正常值(不做任何处理)\r\n ADD_MULTIPLE: 'ADD_MULTIPLE', // 先加后乘\r\n MULTIPLE_ADD: 'MULTIPLE_ADD' // 先乘后加\r\n };\r\n\r\n /**\r\n * 查找计量单位并计算\r\n * @param {Object} dto 计算参数对象\r\n * @param {string} dto.measureUnit 计量单位\r\n * @param {number} dto.width 宽度(mm)\r\n * @param {number} dto.height 高度(mm)\r\n * @param {number} dto.depth 深度(mm)\r\n * @param {string} [dto.calculationMethod] 计算方法\r\n * @param {number} [dto.customLength] 自定义长度,用于特殊计算\r\n * @returns {number} 计算结果\r\n */\r\n static findItemUnitMeasure(dto) {\r\n // 处理尺寸\r\n const { width, height, depth } = this.calculateSizeByConfig(dto);\r\n\r\n // 更新DTO中的尺寸\r\n dto.width = width;\r\n dto.height = height;\r\n dto.depth = depth;\r\n\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === dto.measureUnit);\r\n \r\n if (!unitCode) {\r\n console.warn(`未找到计量单位 ${dto.measureUnit} 的处理方法`);\r\n return 1; // 默认按件计算\r\n }\r\n\r\n const measureUnit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 执行计算\r\n try {\r\n // 根据计算方法确定使用哪种计算方式\r\n if (dto.calculationMethod) {\r\n // 如果指定了计算方法,根据方法计算\r\n switch (dto.calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return (width * height) / (measureUnit.scale || 1000000);\r\n case 'HEIGHT_DEPTH':\r\n return (height * depth) / (measureUnit.scale || 1000000);\r\n case 'WIDTH_DEPTH':\r\n return (width * depth) / (measureUnit.scale || 1000000);\r\n case 'PERIMETER':\r\n return 2 * (width + depth) / 1000;\r\n case 'WIDTH':\r\n return width / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'HEIGHT':\r\n return height / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'DEPTH':\r\n return depth / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'CUSTOM_LENGTH':\r\n return (dto.customLength || width) / 1000;\r\n default:\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } else {\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } catch (error) {\r\n console.error('计算过程中出错:', error);\r\n return 1; // 出错时默认按件计算\r\n }\r\n }\r\n\r\n /**\r\n * 根据单位定义计算\r\n * @param {Object} measureUnit 计量单位对象\r\n * @param {number} width 宽度\r\n * @param {number} height 高度\r\n * @param {number} depth 深度\r\n * @param {number} customLength 自定义长度\r\n * @returns {number} 计算结果\r\n */\r\n static calculateByUnitDefinition(measureUnit, width, height, depth, customLength) {\r\n return measureUnit.getCount().apply({\r\n width,\r\n height,\r\n depth,\r\n customLength\r\n });\r\n }\r\n\r\n /**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n */\r\n static getMeasureUnitInfo(measureUnit) {\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum).find(unit => \r\n this.ProductUnitMeasureEnum[unit]?.label === measureUnit\r\n );\r\n \r\n if (!unitCode) {\r\n return null;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 确定可用的计算方法\r\n let methods = [];\r\n \r\n // 根据单位维度确定可用的计算方法\r\n if (unit.dimension === 2) {\r\n // 二维单位可以用width_height或width_depth或height_depth\r\n methods.push({\r\n key: 'WIDTH_HEIGHT',\r\n label: '宽度×高度',\r\n description: `${unit.label}宽×高计算方式`,\r\n requiredDimensions: ['width', 'height']\r\n });\r\n \r\n methods.push({\r\n key: 'WIDTH_DEPTH',\r\n label: '宽度×深度',\r\n description: `${unit.label}宽×深计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT_DEPTH',\r\n label: '高度×深度',\r\n description: `${unit.label}高×深计算方式`,\r\n requiredDimensions: ['height', 'depth']\r\n });\r\n } else if (unit.dimension === 1) {\r\n // 一维单位可以用width、height或depth\r\n methods.push({\r\n key: 'WIDTH',\r\n label: '宽度',\r\n description: `${unit.label}宽度计算方式`,\r\n requiredDimensions: ['width']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT',\r\n label: '高度',\r\n description: `${unit.label}高度计算方式`,\r\n requiredDimensions: ['height']\r\n });\r\n \r\n methods.push({\r\n key: 'DEPTH',\r\n label: '深度',\r\n description: `${unit.label}深度计算方式`,\r\n requiredDimensions: ['depth']\r\n });\r\n\r\n // 添加周长计算方法\r\n methods.push({\r\n key: 'PERIMETER',\r\n label: '周长',\r\n description: `${unit.label}周长计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n }\r\n \r\n // 如果没有计算方法,添加默认计算方法\r\n if (methods.length === 0) {\r\n methods.push({\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n });\r\n }\r\n \r\n // 确定默认计算方法\r\n let defaultMethod = 'DEFAULT';\r\n \r\n // 根据单位的维度确定默认方法\r\n if (unit.dimension === 2) {\r\n defaultMethod = 'WIDTH_HEIGHT';\r\n } else if (unit.dimension === 1) {\r\n defaultMethod = 'WIDTH';\r\n }\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n simpleLabel: unit.simpleLabel,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: defaultMethod,\r\n methods: methods,\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n }\r\n\r\n /**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n */\r\n static getAllMeasureUnits() {\r\n return Object.entries(this.ProductUnitMeasureEnum)\r\n .filter(([key]) => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .map(([code, unit]) => {\r\n // 获取单位信息\r\n const unitInfo = this.getMeasureUnitInfo(unit.label);\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: unitInfo?.defaultMethod || 'DEFAULT',\r\n methods: unitInfo?.methods || [{\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n }],\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n });\r\n }\r\n\r\n /**\r\n * 根据配置计算尺寸\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算后的尺寸\r\n */\r\n static calculateSizeByConfig(dto) {\r\n // 创建一个尺寸对象,包含三个维度\r\n const size = {\r\n width: dto.width || 0,\r\n height: dto.height || 0,\r\n depth: dto.depth || 0\r\n };\r\n\r\n // 获取计算配额\r\n const quotaMap = this.getQuotaMapByDto(dto);\r\n\r\n // 分别计算三个维度\r\n if (quotaMap.WIDTH) {\r\n size.width = this.calculateValue(size.width, quotaMap.WIDTH);\r\n }\r\n\r\n if (quotaMap.HEIGHT) {\r\n size.height = this.calculateValue(size.height, quotaMap.HEIGHT);\r\n }\r\n\r\n if (quotaMap.DEPTH) {\r\n size.depth = this.calculateValue(size.depth, quotaMap.DEPTH);\r\n }\r\n\r\n return size;\r\n }\r\n\r\n /**\r\n * 获取计算规则配置\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算规则配置\r\n */\r\n static getQuotaMapByDto(dto) {\r\n // 返回默认规则\r\n return {\r\n 'WIDTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'HEIGHT': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'DEPTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 }\r\n };\r\n }\r\n\r\n /**\r\n * 根据计算规则处理值\r\n * @param {number} value 原始值\r\n * @param {Object} quota 计算规则\r\n * @returns {number} 计算后的值\r\n */\r\n static calculateValue(value, quota) {\r\n const { operatorType, addValue, multipleValue } = quota;\r\n let result = value;\r\n\r\n // 将字符串转换为数字\r\n const numAddValue = parseFloat(addValue || 0);\r\n const numMultipleValue = parseFloat(multipleValue || 1);\r\n\r\n // 根据操作类型进行计算\r\n switch (operatorType) {\r\n case this.ProductAttrQuotaOperatorTypeEnum.ADD_MULTIPLE:\r\n // 先加后乘\r\n result = (result + numAddValue) * numMultipleValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.MULTIPLE_ADD:\r\n // 先乘后加\r\n result = result * numMultipleValue + numAddValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.NORMAL:\r\n default:\r\n // 不做特殊处理\r\n break;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n */\r\n static isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n // 检查参数有效性\r\n if (!measureUnit || !dimension) {\r\n return false;\r\n }\r\n \r\n // 标准化尺寸名称\r\n const normalizedDimension = dimension.toLowerCase();\r\n if (!['width', 'height', 'depth'].includes(normalizedDimension)) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果指定了计算方法,根据计算方法判断\r\n if (calculationMethod) {\r\n switch (calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return normalizedDimension === 'width' || normalizedDimension === 'height';\r\n case 'WIDTH_DEPTH':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'HEIGHT_DEPTH':\r\n return normalizedDimension === 'height' || normalizedDimension === 'depth';\r\n case 'PERIMETER':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'WIDTH':\r\n return normalizedDimension === 'width';\r\n case 'HEIGHT':\r\n return normalizedDimension === 'height';\r\n case 'DEPTH':\r\n return normalizedDimension === 'depth';\r\n case 'CUSTOM_LENGTH':\r\n return normalizedDimension === 'width'; // 默认使用宽度作为自定义长度的备选\r\n default:\r\n // 使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n }\r\n \r\n // 如果没有指定计算方法,使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n\r\n /**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n */\r\n static isDimensionRelated(measureUnit) {\r\n // 检查参数有效性\r\n if (!measureUnit) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果单位维度大于0或者有必需尺寸,则与尺寸计算相关\r\n return unit.dimension > 0 || unit.requiredDimensions.length > 0;\r\n }\r\n}\r\n\r\nmodule.exports = ItemUnitMeasureCalculator; ","/**\r\n * 产品计量计算工具方法\r\n * 功能:根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\n\r\nconst ItemUnitMeasureCalculator = require('./utils/MeasureCalculator')\r\nconst { formatDecimal } = require('../../../utils/common.util');\r\n\r\n/**\r\n * 参数验证函数\r\n * @param {Object} params - 请求参数\r\n * @throws {Error} 当参数验证失败时抛出\r\n */\r\nfunction validateParams(params) {\r\n const { measureUnit, width, height, depth } = params;\r\n const errors = [];\r\n\r\n // 验证计量单位\r\n if (!measureUnit) {\r\n errors.push('缺少必要参数:计量单位');\r\n } else if (typeof measureUnit !== 'string') {\r\n errors.push('计量单位必须是字符串');\r\n }\r\n\r\n // 验证宽度、高度、深度为数字或可转换为数字的值\r\n const dimensions = [\r\n { name: '宽度', value: width },\r\n { name: '高度', value: height },\r\n { name: '深度', value: depth }\r\n ];\r\n\r\n dimensions.forEach(dim => {\r\n if (dim.value !== null && dim.value !== undefined && dim.value !== '' && isNaN(Number(dim.value)) && !Array.isArray(dim.value)) {\r\n errors.push(`${dim.name}必须是数字或数组`);\r\n }\r\n \r\n if (Array.isArray(dim.value)) {\r\n const hasInvalidValue = dim.value.some(v => isNaN(Number(v)) || Number(v) < 0);\r\n if (hasInvalidValue) {\r\n errors.push(`${dim.name}数组中的值必须是大于等于0的数字`);\r\n }\r\n } else if (dim.value !== null && dim.value !== undefined && dim.value !== '' && Number(dim.value) < 0) {\r\n errors.push(`${dim.name}不能小于0`);\r\n }\r\n });\r\n\r\n if (errors.length > 0) {\r\n throw new Error(errors.join('; '));\r\n }\r\n}\r\n\r\n/**\r\n * 产品计量值计算工具函数\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction calculateProductMeasure(params) {\r\n try {\r\n // 1. 参数验证\r\n if (!params.measureUnit) {\r\n return 0;\r\n }\r\n // 2. 执行计算\r\n const calculationResult = ItemUnitMeasureCalculator.findItemUnitMeasure({\r\n measureUnit: params.measureUnit,\r\n width: params.width || 0,\r\n height: params.height || 0,\r\n depth: params.depth || 0,\r\n calculationMethod: params.calculationMethod,\r\n customLength: params.customLength\r\n });\r\n\r\n // 3. 格式化结果\r\n const result = formatDecimal(calculationResult, 3) || 0;\r\n\r\n // 4. 返回计算计量值\r\n return result;\r\n } catch (error) {\r\n // 直接抛出错误,不再包装为特定响应结构\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit - 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getMeasureUnitInfo(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.getMeasureUnitInfo(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * 获取用量\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {number} params.count - 数量\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction getUsage(params) {\r\n try {\r\n const measure = formatDecimal(calculateProductMeasure(params) || '0', 6, true);\r\n return measure * params.count\r\n } catch (error) {\r\n throw error; \r\n }\r\n}\r\n\r\n/**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getAllMeasureUnits() {\r\n try {\r\n return ItemUnitMeasureCalculator.getAllMeasureUnits();\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRequired(measureUnit, dimension, calculationMethod);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRelated(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRelated(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取产品计量单位枚举列表\r\n * @returns {Array} 返回格式为 [{ name: '件', code: 'PC' }] 的计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getProductUnitMeasureEnum() {\r\n try {\r\n const enumObj = ItemUnitMeasureCalculator.ProductUnitMeasureEnum;\r\n const result = [];\r\n \r\n // 遍历枚举对象,过滤掉方法和非对象属性\r\n for (const key in enumObj) {\r\n if (typeof enumObj[key] === 'object' && enumObj[key] !== null && key !== 'getByName') {\r\n result.push({\r\n name: enumObj[key].label,\r\n code: enumObj[key].name\r\n });\r\n }\r\n }\r\n \r\n return result;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n// 导出工具函数\r\nmodule.exports = {\r\n getUsage,\r\n calculateProductMeasure,\r\n getMeasureUnitInfo,\r\n getAllMeasureUnits,\r\n isDimensionRequired,\r\n isDimensionRelated,\r\n getProductUnitMeasureEnum,\r\n ItemUnitMeasureCalculator\r\n}; ",null,null,null,null,null,null,null,null],"names":["solution_status","SOLUTION_ITEM_AUDIT_STATUS","design_type","CURRENCY_UNIT_ENUM","supply_mode","IM_GROUP_TYPE","RECOMMENDATION_TYPE_ENUM","pro_series_type_enum","sales_end_app_tag","solution_price_type","spatial_category","house_status","house_type","price_flag","rounding_rule","assign_business_type","BUSINESS_SCOPE_ENUM","BUSINESS_WORK_PHASE_ENUM","CONTRACT_STATE_ENUM","AMOUNT_DECIMAL_VALUE_ENUM","AMOUNT_DECIMAL_TYPE_ENUM","SIGN_STYLE","MQ_RECEIPT_TYPE_ENUM","CUSTOMER_CLASSIFICATION_ENUM","__enumsPlaceholder","solution_status_options","name","value","DRAFT","ACTIVE","LOCKED","REVOKED","PRE_SIGNED","SIGNED","SIGNED_REVOKED","STAY_AUDIT","REJECTED","COMPLETED","design_type_options","BUDGET","MODEL_ROOM_EX","COMMUNITY_EX","ORDER","CONTRACT","SCALE","ABNORMAL_SOLUTION","order_status","order_status_options","NULLIFIED","OPEN","CURRENCY_UNIT_OPTIONS","CNY","USD","EUR","GBP","HKD","supply_mode_options","own_production","brand_agency","wholesale_procur","cross_border_pro","oem_contract","agency_purchase","behalf_purchase","IM_GROUP_TYPE_OPTION","INTERNAL","CUSTOMER","SHARE","DICTIONARY_IDENTIFY_ENUM","CUSTOMER_SOURCE_ENUM","DICTIONARY_CUSTOMER_SOURCE_OPTIONS","label","OTO_TOURIST_SOURCE","GROUP_OTO","TMALL","TENCENT_PLATFORM","DA_ZHONG_DIAN_PING","STORE_SALES","OFFICIAL_REGISTRATION","CITY_OTO","COMMUNITY_MARKETING_ACCOUNTS","MERCHANT_WE_MEDIA_REGISTRATION","PRIVATE_DOMAIN","CUSTOMER_RECOMMENDATION","ON_GOING_CUSTOMER_REFERRAL","OLD_CUSTOMER_REFERRAL","RECOMMENDED_BY_SEED_CUSTOMER","MALL_TRAFFIC_FLOW","NATURAL_TRAFFIC","EVENT_TRAFFIC","ADVERTISING_TRAFFIC","SOCIAL_COMMUNITY_CUSTOMER","SELF_BUILT_COMMUNITY","SELF_BUILT_EVENT_COMMUNITY","MALL_MARKETING_COMMUNITY","ALLIANCE_COOPERATION","INTERIOR_DESIGNER_COLLABORATION","FRACTURED_CUSTOMER_REFERRAL","HOME_IMPROVEMENT_COMPANY_COLLABORATION","MAIN_MATERIAL_MERCHANT_COLLABORATION","MAIN_MATERIAL_SALES_COLLABORATION","NON_INDUSTRY_ALLIANCE","DEVELOPER_COLLABORATION","PROPERTY_COLLABORATION","MALL_COLLABORATION","BANK_COOPERATION","EMPLOYEE_REFERRAL","BE_ON_THE_JOB_EMPLOYEE_REFERRAL","EARLY_EMPLOYEE_REFERRAL","OTHER_SOURCE","SCAN_EMPLOYEE_QR_CODE","PROCESS_STAGE_ENUM","DICTIONARY_PROCESS_STAGE_OPTIONS","INFORMATION","CUSTOMER_SOURCE","LINK_IN_TRANSIT","MEETING_IN_TRANSIT","INTENTION_IN_TRANSIT","ORDER_FORM","ASSIGN_DESIGNER","MEASURE_IN_TRANSIT","SOLUTION_QUOTATION","CONTRACT_IN_TRANSIT","COMPOUND_RULER","PURCHASE_IN_TRANSIT","PRODUCTION","LOGISTICS_IN_TRANSIT","STORAGE_IN_TRANSIT","INSTALL_IN_TRANSIT","DELIVER_IN_TRANSIT","OLD_CUSTOMER","CUSTOMER_LABEL_ENUM","DICTIONARY_CUSTOMER_LABEL_OPTIONS","UNGROUPED","DICTIONARY_BUSINESS_SCOPE_OPTIONS","SELF_OPERATED_PRODUCT","AGENCY_PURCHASE_SALES","INTERIOR_DESIGN","ENGINEERING_CONSTRUCTION","DICTIONARY_BUSINESS_WORK_PHASE_OPTIONS","MARKETING","SALES","DESIGN","INSTALLATION","AFTER_SALES","CONSTRUCTION","DICTIONARY_CUSTOMER_CLASSIFICATION_OPTIONS","PASSERBY","FRACTURED_CUSTOMER","OTO_ASSIGNMENT","ON_THE_WAY_CUSTOMER","KEY_FOCUS","DICTIONARY_ATTRIBUTE_OPTIONS_MAP","PROCESS_STAGE","CUSTOMER_LABEL","BUSINESS_SCOPE","BUSINESS_WORK_PHASE","CUSTOMER_CLASSIFICATION","DICTIONARY_IDENTIFY_OPTIONS","POSITION","BEDROOM","DELIVERY_TIME_OPTION","HOUSE_INFORMATION","HOUSE_SQUARE_METERS","PROJECT_CLASSIFICATION","PROJECT_TYPE","PROJECT_SOLUTION","PROJECT_TAG","PROJECT_TEMPLATE_LEVEL","PROJECT_WORK_ITEM","BUILDING_DEVELOPER","BUILDING_PROPERTY_COMPANY","BUILDING_CATEGORY_TAG","BUILDING_HOUSE_TYPE_TAG","recommendation_type_options","DESIGN_ALLIANCE","DIFFERENT_DESIGN_ALLIANCE","EMPLOYEE_RECOMMENDATION","WECHAT_GROUPS","pro_series_type_options","SERIES","STYLE","spatial_category_options","KITCHEN","LIVING_ROOM","RESTAURANT","MASTER_BEDROOM","SECOND_BEDROOM","CLOAKROOM","YOUNGSTER_ROOM","STUDY","MASTER_BATHROOM","SECOND_BATHROOM","HALLWAY","BALCONY","STOREROOM","OTHER_SPACE","house_status_options","DELIVERED_HOUSE","UNDEVELOPED_HOUSE","UNCERTAIN_DELIVERY","house_type_options","LUXURY_HOUSE","BARE_SHELL_HOUSE","SECOND_HAND_HOUSE","UNDETERMINED","ListType","price_flag_options","stdConf","gift","present","package","positive","specialPrice","fixPrice","returnedPurchase","refund","sample","returning_inventory","backup_warehouse","sec_kill_product","activity_product","product_stock","PRICE_FLAG_LIST_TYPE_MAP","QUOTATION_SOLUTION","getPriceFlagOptionsByListType","listType","availableFlags","length","filter","option","includes","isPriceFlagValidForListType","flag","rounding_rule_options","SINGLE_ROUND","SINGLE_SET_EIGHT","SINGLE_SET_NINE","SINGLE_SET_TEN","SINGLE_PLUS_ONE","TEN_PLUS_ONE","SINGLE_TEN_PLUS_ONE","assign_business_type_options","ESTATE","AMOUNT_DECIMAL_VALUE_OPTIONS","AMOUNT_KEEP_1_DECIMAL_PLACE","AMOUNT_KEEP_2_DECIMAL_PLACE","AMOUNT_KEEP_3_DECIMAL_PLACE","AMOUNT_KEEP_4_DECIMAL_PLACE","CONTRACT_STATUS_OPTIONS","VOIDED","SIGN_STAY_FOR_ME","SIGN_STAY_CUSTOMER","STAY_REPORTED","UNDER_REVIEW","STAY_SCALE","STAY_SCALE_REPORTED","SCALE_UNDER_REVIEW","SCALE_REJECTED","SCALE_COMPLETED","SIGN_STYLE_OPTIONS","ONLINE_SIGN","PRINT_SIGN","SALES_END_APP_TAG_OPTIONS","STANDARD_RETAIL","ACTUAL_RETAIL","SETTLEMENT_PRICE","EXCLUSIVE_PACKAGE_PRICE","ProductUnitMeasure","ProductUnitMeasureCN","PRODUCT_UNIT_MEASURE","code","PC","english","EA","SET","BAN","SAG","VOL","BOX","PAIL","CAN","TAI","CAR","PAK","STP","ZHI","ZII","SLC","BLK","ZHG","PAL","GEN","FAN","REEL","PAIR","GROUP","STEP","M","LM","H2W1","MM","INC","M2","PM2","FM2","M3","L","ML","KG","TON","WORKLOAD","PRODUCT_UNIT_MEASURE_OPTIONS","map","item","getProductUnitMeasureByCode","find","getProductUnitMeasureByName","__constantsPlaceholder","__interfacesPlaceholder","formatDecimal","decimalPlaces","undefined","places","Math","max","floor","factor","pow","round","calcStandardPrice","children","totalChildrenPrice","forEach","childItem","calcActualPrice","count","measure","unitPrice","priceFlag","safeMeasure","safeCount","safePrice","safeCoefficient","productCoefficient","priceFlagEnum","standardAmount","result","itemDiscount","abs","calcItemUnitPrice","console","warn","itemId","uuid","calcTaxAmount","safeRate","taxRate","actualPrice","managementFeeAmount","managementFeeRate","calcTaxFeePrice","enableTaxRate","enableManagementFeeRate","taxAmount","managementFee","generateUUID","replace","c","r","random","toString","generateRandomId","chars","i","formatNumberWithCommas","valueStr","trim","number","parseFloat","isNaN","parts","split","integerPart","decimalPart","formattedInteger","findOptionByValue","options","valueField","strictOrField","Array","isArray","strict","field","getFileExtension","filename","_a","pop","toLowerCase","formatChineseMobile","phone","digits","test","slice","decimals","parseNumber","num","Number","toFixed","applyAmountDecimal","decimalType","fixed","AMOUNT_DO_NOT_RETAIN_DECIMALS","PRODUCT_CATEGORIES","WALLBOARD","VENEER","FULL_LENGTH_MIRROR","STAY_WIRE","PASS","COSTS","GAS_PIPE","SOFT_BED","DCJGF","WAT","WAT_THERMAL_SOUND","parentKey","WAT_SUPPLY","WAT_DRAINAGE","DESIGN_COSTS","DECORATIVE_LIGHTS","CLOS_PLATE","SKELETON_ARRANGEMENT","ACCESSORIES","WATER_TREATMENT","GUIDAO","ELEC","CIRCULAR_TABLE","DECORATIVE_PARTS","RUBBER_STRIP","PLUG","DECORATIVE_COLUMN","COVER_PLATE","DECORATIVE_PLATE","OTHER_ACCESSORIES","LMLJGF","WAIST_LINE","BAR_CHAIR","STRUCTURE_PROFILES","REMOTE_CONTROL","WALLPAPER","COLUMN","LATEX_PAINT","GIFTS","SLATE","BAR_COUNTER","STORAGE","PLATFORM","SUSPENDED_CEILING","BACK_SEVERAL","WALL_PANEL_FRAME","RATE_COUPON","CEMENT_MORTAR","DECORATIVE_PART","HANGING_CODE","SKIRTING_BOARD","WINDOW_CURTAINS","SHAD_CLOTH","SOFT_COVER","DECORATIVE_STONE","MESA","FUNCTIONAL_PART","CORE_BOARD","TABLE","CREATE","CREATE_LIGHT_STEEL_JOIST_WALL","CREATE_WALL","INSTALL","LIGHT_FIX_INSTALL","STONE_INSTALL","DRILL_HOLE_INSTALL","SANITARY_WARE_INSTALL","CPL","INTELLIGENCE_ELECTRICAL","DISHWASHER","STERILIZER","AGITATOR","STOVE","PURIFIER","RADIANT_COOKER","DRYER","HEATER","DISINFECTION_CABINET","WASHING_MACHINE","INTELLIGENT_PLUG_IN","MICROWAVE_OVEN","SMOKE_MACHINE","ADDTIONAL","SMART_TRASH_CAN","SLAG_CRUSHER","WATER_PURIFIER","TRANSFORMER","INTELLIGENCE_ELECTRICAL_APPARATUS","ELECTRIC_OVEN","GAS_STOVE","ELECTRIC_STEAMER","PROXYELE","LAMPS_AND_LANTERNS","QIANXIAN","LOUNGE_CHAIR","JEWELRY_HANGER","DRESS_STOOL","CLOTH","SCJGF","WALL","WALL_WOOD_BASE","WALL_SUPPORT","WALL_DECORATE","WALL_TIL","DINGING_CHAIR","CASH_COUPON","OTHER","CABINET_PANEL","SPLIT_HALL_CABINET","SHOE_CABINET","CUSTOMIZED_UNIT","HANG_GRID","WOODINESS_CD","BOOKCASE","BOX_STRUCTURE","WINE_GRID","TIE_GRID","GEO_GRID","BATHROOM_CABINET","SIDE_CABINET","SEMI_HIGH_LATTICE","DRAWER_CABINET","CYLINDER_CABINET","HALF_HEIGHT_CABINET","DECORATIVE_CABINET","KEYBOARD_HOLDER","DISPLAY_CABINET","SLIDE_DOOR_CABINET","ELEVATED_CABINET","BALCONY_CABINET","CELLS","SHOE_HAT_CABINET","WALL_CABINET","SHIRT_PALLET","WARDROBE","GRIDBOARD","TV_CABINET","WALL_MOUNTED_WARDROBE","HALL_CABINET","BEDSIDE","CONSOLE_CABINET","BED_CABINET","BOARD","BOX_BOARD","BEAR_BOARD","SIDE_BOARD","VERTICAL_SUPPORT_BOARD","TOP_BOARD","INCLINED_LAYER_BOARD","CONNECTING_BOARD","BOTTOM_BOARD","SHELF_BOARD","T_FIXTURE_BOARD","L_FIXTURE_BOARD","MID_VERTICAL_BOARD","DIVIDING_INTI_GRIDS","CABINET_IN_CABINET","SHOE_BOX","FIXTURE","ISLAND_PLATFORM","CYLINDER_CABINET_HIGH_LATTICE","CABINET_STYLE_WARDROBE","MIRROR_CABINET","COLUMN_WARDROBE","STORAGE_CABINET","WATER_BASIN_CABINET","FLOOR_CABINET","INSERT_GRID","BASE_GRID","BACKGROUND_PLATE","INSERT_UNIT","WINE_CABINET","TABLEWARE","WINE_GRILLE_HOLDER","OPEN_LATTICE","CORNER_TABLE","SHOE_RACK","BOOKSHELF","ELE","ELE_WEAK_GALVANIZED","ELE_SPECIALIZED_FURNISH","ELE_PVC_PIPE","ELE_WEAK_WIRE","ELE_ASSISTANCE","ELE_WIRE","WAT_SLOTTING","ELE_GALVANIZED","ELE_WEAK_BOX","ELE_WEAK_PVC_PIPE","COMMODE","UNIT_CABINET_PANEL","LOCK_SET","YARN_MANTLE","SPECIAL","SIDE_TABLE","FUNCTIONAL_HARDWARE","COOKER","BOTTLE_OPENER","HANDLES","DRAWER","LIGHT_BELT","HANGER_ROD","DAMPER","OTHER_HARDWARE","COUPLE","CAN_OPENER","HARDWARE_ACCESSORIES","WATERPROOF_PARTS","FAUCET","SLIDE_DOOR_HARDWARE","STOP","SWITCH","COAT_HANGER","HINGE","COUPLING_HEAD","INTELLIGENCE_HARDWARE","SLIDE_RAIL","WATER_BASIN","PULL_BASKET","FLOODLIGHT","CLOTHES_RAIL","REBOUND_DEVICE","BRACE","DISC_EXTRACTOR","SLIDE_DOOR","SCREEN","BENCH","PARAPET_WALL_BOARD","OFFICE_CHAIR","QIANGGOU","RIBBON_CLOTH","SANITARY_WARE","TRAY","PROTECT","MATERIAL_HAND_PROTECT","GARBAGE_DISPOSAL_PROTECT","LONG_RANGE_PROTECT","LOFT_PROTECT","N_SPECIAL","LB","QIANPIAN","DRESSER","ACTIVITY","TEA_TABLE","DECORATIVE_LINE","CARPET","HALF_PASS","CHAIR","CERAMICTILE","ELECTRIC_MODULE","DOOR_BOARD","FITTED_SHEET","BED","Fabric","CURTAIN_CLOTH","SOFA","BASIN","BATHROOM_MIRROR","CUSHION","DECORATIVE_LACE_YARN_MANTLE","FOLDING_SCREEN","MATTRESS","DESK","TJX","REMOVE","REMOVE_GROUND","REMOVE_WALL","REMOVE_SUSPEND_CEIL","REMOVE_METOPE","REMOVE_NEW_WORK_ITEM","GROUND","GROUND_TIL","GROUND_WOOD","GROUND_POINT","GROUND_HANDLE","ADJUSTING_PLATE","CUSTOM_PARTS","CORNET","SOFA_ROLL","TECHNOLOGY","BUILD_WALLS","PAINT","LI_XIE_QI","MORTAR_MIX","DOOR_LINTEL","PLANT_TENDONS","PRE_ARRANGED_POSIT","AN_DI_LIANG","SPREAD","REINFORCEMENT_COMPONENTS","TOP","TOP_LINE","TUYERE","SUSPENDED_SUPPORT","PLATFOND_WATER_RESISTANCE","PLATFOND","PELMET","PULLEY","PENDANT","YANGPIN","BRICK","INNER_DOOR","DOOR_LOCK","DOOR_HEADER","DOOR_JAMB","DOOR_STOPPER","DOOR_LEAF","UPGRADE_COSTS","STRUCTURAL_COMPONENTS","ALUMINUM_WIRE_CONNECTOR","OUTRIGGER","ALLOY_CLIP","LAMINATE_SUPPORT","EXPANSION_SCREW","WALL_HANGING_SUPPORT","ALUMINUM_PROFILE_COMPONENTS","STRUCTURAL_ADHESIVE","GRILLE","CIVIL_ENGINEERING","CIVIL_ENGINEERING_CREATE","CIVIL_ENGINEERING_REMOVE","WATERPROOF_BOARD","BATHTUB","ALUMINUM_FRAME","PORCH","ACCESSORIES_YARN_MANTLE","BANDING","NON_SLIP_MAT","DRESS_UNIT","FLOOR","CUSTOMIZED_TABLE_RACK","FITT","getProductCategoryByKey","categoryKey","getAllProductCategories","Object","entries","category","getSortedGroupTypes","groupCategoryMap","values","sort","a","b","order","getGroupTypeByKey","groupTypeKey","getProductCategoriesByGroupType","productCategoryMap","groupType","mainCategory","productCategories","findCategoryByKey","push","categoryName","categoryCode","some","productCategoryKey","keys","categories","key","childCategory","getPriceParamsByGroupType","categoryPriceUnit","priceUnit","excludeCategoryPriceUnit","excludePriceUnit","getClassifyRoomsAndGroups","classifyType","classifyRoomGroupMap","roomOptions","classifyMap","roomGroups","roomGroup","roomCode","room","roomName","parentCode","parentName","parentSort","roomSort","targetRoom","child","groupsData","groups","groupCode","groupInfo","productCategoriesData","groupName","groupSort","getGroupsByClassifyAndRoom","roomType","rg","getClassifyBaseInfo","classifyCode","classifyInfo","icon","matchUnit","getGroupTypeByProductCategory","productCategory","mainCategoryCode","availableGroups","Set","add","bestMatchGroupKey","mainCategoryMatchGroupKey","mainCategoryMatches","mcCode","toUpperCase","productCategoryMatches","error","groupTypesMap","actualProductCategory","mainCategoryObj","MeasureCalculator","static","simpleLabel","enName","dimension","scale","requiredDimensions","getCount","apply","countParam","CELL","width","height","depth","getByName","this","NORMAL","ADD_MULTIPLE","MULTIPLE_ADD","findItemUnitMeasure","dto","calculateSizeByConfig","unitCode","ProductUnitMeasureEnum","unit","measureUnit","calculationMethod","calculateByUnitDefinition","customLength","getMeasureUnitInfo","methods","description","defaultMethod","getAllMeasureUnits","unitInfo","size","quotaMap","getQuotaMapByDto","WIDTH","calculateValue","HEIGHT","DEPTH","operatorType","addValue","multipleValue","quota","numAddValue","numMultipleValue","ProductAttrQuotaOperatorTypeEnum","isDimensionRequired","normalizedDimension","isDimensionRelated","ItemUnitMeasureCalculator","require$$0","require$$1","calculateProductMeasure","params","calculationResult","getUsage","getProductUnitMeasureEnum","enumObj","calculateProductDosage","rowData","CUSTOM_FURNITURE","editSections","skuAttriCode","expand","attributes","type","required","dependency","isMainProduct","baseAttribute","min","default","labelKey","TOTAL_CUPBOARD","FINISHED_CABINET","FINISHED_PRODUCT","viewSettingBuilder","setting","rest","log","viewSetting","JSON","stringify","index","replaceTemplate","repeat","replaceAll","parse","getCategoryViewSetting","viewType","QuotationItem","constructor","config","productId","supplyPrice","productPriceId","spuName","unitLabel","spuId","brandId","brandName","classifyId","classifyName","model","supplyMode","outlineDemension","parentCategoryCode","parentCategoryName","styleId","styleName","schemeName","originWidth","originHeight","originDepth","skuAttributes","moveDirection","location","crimpRatio","openWidth","measureCalcParams","isExclusivePackage","standardPrice","taxFeePrice","dosage","remark","picture","components","assign","PRIVILEGE_STATE_ENUM","PRIVILEGE_STATUS_OPTIONS","TO_BE_REVIEW","APPROVED","CONTRACT_CANCEL_TYPE","CONSUMER_GROUP_ENUM","PLACE_ORDER_TYPE_ENUM"],"mappings":"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"}