bmc-common-resource 1.1.31 → 1.1.33
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/constants/assign-business-type-options.constant.d.ts +11 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/enums/assign-business-type.enum.d.ts +7 -0
- package/dist/enums/dictionary-identify.enum.d.ts +5 -1
- package/dist/enums/index.d.ts +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/solution/index.d.ts +6 -1
- package/package.json +52 -52
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { assign_business_type } from '../enums/assign-business-type.enum';
|
|
2
|
+
export interface assignBusinessTypeOption {
|
|
3
|
+
/** 户型名称 */
|
|
4
|
+
name: string;
|
|
5
|
+
/** 户型值 */
|
|
6
|
+
value: assign_business_type;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 数组
|
|
10
|
+
*/
|
|
11
|
+
export declare const assign_business_type_options: assignBusinessTypeOption[];
|
|
@@ -17,7 +17,11 @@ export declare enum DICTIONARY_IDENTIFY_ENUM {
|
|
|
17
17
|
/** 房屋户型 */
|
|
18
18
|
HOUSE_INFORMATION = "HOUSE_INFORMATION",
|
|
19
19
|
/** 房屋面积 */
|
|
20
|
-
HOUSE_SQUARE_METERS = "HOUSE_SQUARE_METERS"
|
|
20
|
+
HOUSE_SQUARE_METERS = "HOUSE_SQUARE_METERS",
|
|
21
|
+
/** 业务范围分类 */
|
|
22
|
+
BUSINESS_SCOPE = "BUSINESS_SCOPE",
|
|
23
|
+
/** 业务工作 */
|
|
24
|
+
BUSINESS_WORK_PHASE = "BUSINESS_WORK_PHASE"
|
|
21
25
|
}
|
|
22
26
|
/**
|
|
23
27
|
* 字典项标识类型
|
package/dist/enums/index.d.ts
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export * from './constants';
|
|
|
7
7
|
export * from './interfaces';
|
|
8
8
|
export * from './utils';
|
|
9
9
|
export * from './modules';
|
|
10
|
+
export { assignBusinessTypeOption } from './constants/assign-business-type-options.constant';
|
|
11
|
+
export { assign_business_type_options } from './constants/assign-business-type-options.constant';
|
|
10
12
|
export { CurrencyOption } from './constants/currency-unit-options.constant';
|
|
11
13
|
export { CURRENCY_UNIT_OPTIONS } from './constants/currency-unit-options.constant';
|
|
12
14
|
export { designTypeOption } from './constants/design-type-options.constant';
|
|
@@ -40,6 +42,7 @@ export { spatialCategoryOption } from './constants/spatial-category-options.cons
|
|
|
40
42
|
export { spatial_category_options } from './constants/spatial-category-options.constant';
|
|
41
43
|
export { SupplyModeOption } from './constants/supply-mode-options.constant';
|
|
42
44
|
export { supply_mode_options } from './constants/supply-mode-options.constant';
|
|
45
|
+
export { assign_business_type } from './enums/assign-business-type.enum';
|
|
43
46
|
export { CURRENCY_UNIT_ENUM } from './enums/currency-unit.enum';
|
|
44
47
|
export { CUSTOMER_LABEL_ENUM } from './enums/customer-label.enum';
|
|
45
48
|
export { CustomerLabelType } from './enums/customer-label.enum';
|
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var E,e,A,N,r,_,O,R,T,o,I,a;!function(E){E.DRAFT="DRAFT",E.ACTIVE="ACTIVE",E.LOCKED="LOCKED",E.REVOKED="REVOKED",E.PRE_SIGNED="PRE_SIGNED",E.SIGNED="SIGNED",E.SIGNED_REVOKED="SIGNED_REVOKED"}(E||(E={})),function(E){E.BUDGET="BUDGET",E.MODEL_ROOM_EX="MODEL_ROOM_EX",E.COMMUNITY_EX="COMMUNITY_EX",E.ORDER="ORDER"}(e||(e={})),function(E){E.CNY="CNY",E.USD="USD",E.EUR="EUR",E.GBP="GBP",E.HKD="HKD"}(A||(A={})),function(E){E.own_production="own_production",E.brand_agency="brand_agency",E.wholesale_procur="wholesale_procur",E.cross_border_pro="cross_border_pro",E.oem_contract="oem_contract"}(N||(N={})),function(E){E.CUSTOMER_RECOMMENDATION="CUSTOMER_RECOMMENDATION",E.DESIGN_ALLIANCE="DESIGN_ALLIANCE",E.DIFFERENT_DESIGN_ALLIANCE="DIFFERENT_DESIGN_ALLIANCE",E.EMPLOYEE_RECOMMENDATION="EMPLOYEE_RECOMMENDATION",E.WECHAT_GROUPS="WECHAT_GROUPS"}(r||(r={})),function(E){E.SERIES="SERIES",E.STYLE="STYLE"}(_||(_={})),function(E){E.STANDARD_RETAIL="STANDARD_RETAIL",E.ACTUAL_RETAIL="ACTUAL_RETAIL"}(O||(O={})),function(E){E.KITCHEN="KITCHEN",E.LIVING_ROOM="LIVING_ROOM",E.RESTAURANT="RESTAURANT",E.MASTER_BEDROOM="MASTER_BEDROOM",E.SECOND_BEDROOM="SECOND_BEDROOM",E.CLOAKROOM="CLOAKROOM",E.YOUNGSTER_ROOM="YOUNGSTER_ROOM",E.STUDY="STUDY",E.MASTER_BATHROOM="MASTER_BATHROOM",E.SECOND_BATHROOM="SECOND_BATHROOM",E.HALLWAY="HALLWAY",E.BALCONY="BALCONY",E.STOREROOM="STOREROOM",E.OTHER_SPACE="OTHER_SPACE"}(R||(R={})),function(E){E.DELIVERED_HOUSE="DELIVERED_HOUSE",E.UNDEVELOPED_HOUSE="UNDEVELOPED_HOUSE",E.UNCERTAIN_DELIVERY="UNCERTAIN_DELIVERY"}(T||(T={})),function(E){E.LUXURY_HOUSE="LUXURY_HOUSE",E.BARE_SHELL_HOUSE="BARE_SHELL_HOUSE",E.SECOND_HAND_HOUSE="SECOND_HAND_HOUSE",E.UNDETERMINED="UNDETERMINED"}(o||(o={})),function(E){E.stdConf="stdConf",E.gift="gift",E.present="present",E.package="package",E.positive="positive",E.specialPrice="specialPrice",E.fixPrice="fixPrice",E.returnedPurchase="returnedPurchase",E.refund="refund",E.sample="sample",E.returning_inventory="returning_inventory",E.backup_warehouse="backup_warehouse",E.sec_kill_product="sec_kill_product",E.activity_product="activity_product",E.product_stock="product_stock"}(I||(I={})),function(E){E.SINGLE_ROUND="SINGLE_ROUND",E.SINGLE_SET_EIGHT="SINGLE_SET_EIGHT",E.SINGLE_SET_NINE="SINGLE_SET_NINE",E.SINGLE_SET_TEN="SINGLE_SET_TEN",E.SINGLE_PLUS_ONE="SINGLE_PLUS_ONE",E.TEN_PLUS_ONE="TEN_PLUS_ONE",E.SINGLE_TEN_PLUS_ONE="SINGLE_TEN_PLUS_ONE"}(a||(a={}));const C={},n=[{name:"草稿",value:E.DRAFT},{name:"可用",value:E.ACTIVE},{name:"锁定",value:E.LOCKED},{name:"已作废",value:E.REVOKED},{name:"预签",value:E.PRE_SIGNED},{name:"已签",value:E.SIGNED},{name:"已签作废",value:E.SIGNED_REVOKED}],L=[{name:"预算方案",value:e.BUDGET},{name:"样板间专属方案",value:e.MODEL_ROOM_EX},{name:"小区专属方案",value:e.COMMUNITY_EX},{name:"订单方案",value:e.ORDER}];var S;!function(E){E.NULLIFIED="NULLIFIED",E.LOCKED="LOCKED",E.OPEN="OPEN"}(S||(S={}));const t=[{name:"作废",value:S.NULLIFIED},{name:"锁定",value:S.LOCKED},{name:"开放",value:S.OPEN}],u=[{name:"人民币",value:A.CNY},{name:"美元",value:A.USD},{name:"欧元",value:A.EUR},{name:"英镑",value:A.GBP},{name:"港币",value:A.HKD}],m=[{name:"自制生产",value:N.own_production},{name:"品牌代理",value:N.brand_agency},{name:"批发采购",value:N.wholesale_procur},{name:"跨境采购",value:N.cross_border_pro},{name:"OEM代工",value:N.oem_contract}];var D,l;!function(E){E.CUSTOMER_SOURCE="CUSTOMER_SOURCE",E.PROCESS_STAGE="PROCESS_STAGE",E.POSITION="POSITION",E.CUSTOMER_LABEL="CUSTOMER_LABEL",E.BEDROOM="BEDROOM",E.DELIVERY_TIME_OPTION="DELIVERY_TIME_OPTION",E.HOUSE_INFORMATION="HOUSE_INFORMATION",E.HOUSE_SQUARE_METERS="HOUSE_SQUARE_METERS"}(D||(D={})),function(E){E.OTO_TOURIST_SOURCE="OTO_TOURIST_SOURCE",E.GROUP_OTO="GROUP_OTO",E.TMALL="TMALL",E.TENCENT_PLATFORM="TENCENT_PLATFORM",E.DA_ZHONG_DIAN_PING="DA_ZHONG_DIAN_PING",E.STORE_SALES="STORE_SALES",E.OFFICIAL_REGISTRATION="OFFICIAL_REGISTRATION",E.CITY_OTO="CITY_OTO",E.COMMUNITY_MARKETING_ACCOUNTS="COMMUNITY_MARKETING_ACCOUNTS",E.MERCHANT_WE_MEDIA_REGISTRATION="MERCHANT_WE_MEDIA_REGISTRATION",E.PRIVATE_DOMAIN="PRIVATE_DOMAIN",E.CUSTOMER_RECOMMENDATION="CUSTOMER_RECOMMENDATION",E.ON_GOING_CUSTOMER_REFERRAL="ON_GOING_CUSTOMER_REFERRAL",E.OLD_CUSTOMER_REFERRAL="OLD_CUSTOMER_REFERRAL",E.RECOMMENDED_BY_SEED_CUSTOMER="RECOMMENDED_BY_SEED_CUSTOMER",E.MALL_TRAFFIC_FLOW="MALL_TRAFFIC_FLOW",E.NATURAL_TRAFFIC="NATURAL_TRAFFIC",E.EVENT_TRAFFIC="EVENT_TRAFFIC",E.ADVERTISING_TRAFFIC="ADVERTISING_TRAFFIC",E.SOCIAL_COMMUNITY_CUSTOMER="SOCIAL_COMMUNITY_CUSTOMER",E.SELF_BUILT_COMMUNITY="SELF_BUILT_COMMUNITY",E.SELF_BUILT_EVENT_COMMUNITY="SELF_BUILT_EVENT_COMMUNITY",E.MALL_MARKETING_COMMUNITY="MALL_MARKETING_COMMUNITY",E.ALLIANCE_COOPERATION="ALLIANCE_COOPERATION",E.INTERIOR_DESIGNER_COLLABORATION="INTERIOR_DESIGNER_COLLABORATION",E.HOME_IMPROVEMENT_COMPANY_COLLABORATION="HOME_IMPROVEMENT_COMPANY_COLLABORATION",E.MAIN_MATERIAL_MERCHANT_COLLABORATION="MAIN_MATERIAL_MERCHANT_COLLABORATION",E.MAIN_MATERIAL_SALES_COLLABORATION="MAIN_MATERIAL_SALES_COLLABORATION",E.NON_INDUSTRY_ALLIANCE="NON_INDUSTRY_ALLIANCE",E.DEVELOPER_COLLABORATION="DEVELOPER_COLLABORATION",E.PROPERTY_COLLABORATION="PROPERTY_COLLABORATION",E.MALL_COLLABORATION="MALL_COLLABORATION",E.BANK_COOPERATION="BANK_COOPERATION",E.EMPLOYEE_REFERRAL="EMPLOYEE_REFERRAL",E.BE_ON_THE_JOB_EMPLOYEE_REFERRAL="BE_ON_THE_JOB_EMPLOYEE_REFERRAL",E.EARLY_EMPLOYEE_REFERRAL="EARLY_EMPLOYEE_REFERRAL",E.OTHER_SOURCE="OTHER_SOURCE",E.SCAN_EMPLOYEE_QR_CODE="SCAN_EMPLOYEE_QR_CODE"}(l||(l={}));const i=[{label:"O2O客户",value:l.OTO_TOURIST_SOURCE},{label:"集团O2O",value:l.GROUP_OTO},{label:"天猫商城",value:l.TMALL},{label:"腾讯平台",value:l.TENCENT_PLATFORM},{label:"大众点评",value:l.DA_ZHONG_DIAN_PING},{label:"百度平台",value:l.STORE_SALES},{label:"官方报名",value:l.OFFICIAL_REGISTRATION},{label:"城市O2O",value:l.CITY_OTO},{label:"社群营销号获客",value:l.COMMUNITY_MARKETING_ACCOUNTS},{label:"商家自媒体报名",value:l.MERCHANT_WE_MEDIA_REGISTRATION},{label:"私域O2O",value:l.PRIVATE_DOMAIN},{label:"客户推荐",value:l.CUSTOMER_RECOMMENDATION},{label:"在途客户推荐",value:l.ON_GOING_CUSTOMER_REFERRAL},{label:"老客户推荐",value:l.OLD_CUSTOMER_REFERRAL},{label:"种子客户推荐",value:l.RECOMMENDED_BY_SEED_CUSTOMER},{label:"商场客流",value:l.MALL_TRAFFIC_FLOW},{label:"自然客流",value:l.NATURAL_TRAFFIC},{label:"活动客流",value:l.EVENT_TRAFFIC},{label:"广告导流",value:l.ADVERTISING_TRAFFIC},{label:"社群客户",value:l.SOCIAL_COMMUNITY_CUSTOMER},{label:"自建小区社群",value:l.SELF_BUILT_COMMUNITY},{label:"自建活动社群",value:l.SELF_BUILT_EVENT_COMMUNITY},{label:"商场营销社群",value:l.MALL_MARKETING_COMMUNITY},{label:"同业联盟推荐",value:l.ALLIANCE_COOPERATION},{label:"家装设计师合作",value:l.INTERIOR_DESIGNER_COLLABORATION},{label:"家装公司合作",value:l.HOME_IMPROVEMENT_COMPANY_COLLABORATION},{label:"主材商家合作",value:l.MAIN_MATERIAL_MERCHANT_COLLABORATION},{label:"主材销售合作",value:l.MAIN_MATERIAL_SALES_COLLABORATION},{label:"异业联盟推荐",value:l.NON_INDUSTRY_ALLIANCE},{label:"开发商合作",value:l.DEVELOPER_COLLABORATION},{label:"物业合作",value:l.PROPERTY_COLLABORATION},{label:"商场合作",value:l.MALL_COLLABORATION},{label:"银行合作",value:l.BANK_COOPERATION},{label:"员工推荐",value:l.EMPLOYEE_REFERRAL},{label:"在职员工推荐",value:l.BE_ON_THE_JOB_EMPLOYEE_REFERRAL},{label:"早期员工推荐",value:l.EARLY_EMPLOYEE_REFERRAL},{label:"其他来源",value:l.OTHER_SOURCE},{label:"扫描员工码",value:l.SCAN_EMPLOYEE_QR_CODE}];var s;!function(E){E.INFORMATION_IN_TRANSIT="INFORMATION_IN_TRANSIT",E.CUSTOMER_SOURCE_IN_TRANSIT="CUSTOMER_SOURCE_IN_TRANSIT",E.LINK_IN_TRANSIT="LINK_IN_TRANSIT",E.MEETING_IN_TRANSIT="MEETING_IN_TRANSIT",E.INTENTION_IN_TRANSIT="INTENTION_IN_TRANSIT",E.ORDER_FORM_IN_TRANSIT="ORDER_FORM_IN_TRANSIT",E.ASSIGN_DESIGNER="ASSIGN_DESIGNER",E.MEASURE_IN_TRANSIT="MEASURE_IN_TRANSIT",E.SOLUTION_QUOTATION_IN_TRANSIT="SOLUTION_QUOTATION_IN_TRANSIT",E.CONTRACT_IN_TRANSIT="CONTRACT_IN_TRANSIT",E.COMPOUND_RULER_IN_TRANSIT="COMPOUND_RULER_IN_TRANSIT",E.PURCHASE_IN_TRANSIT="PURCHASE_IN_TRANSIT",E.PRODUCTION_IN_TRANSIT="PRODUCTION_IN_TRANSIT",E.LOGISTICS_IN_TRANSIT="LOGISTICS_IN_TRANSIT",E.STORAGE_IN_TRANSIT="STORAGE_IN_TRANSIT",E.INSTALL_IN_TRANSIT="INSTALL_IN_TRANSIT",E.DELIVER_IN_TRANSIT="DELIVER_IN_TRANSIT",E.OLD_CUSTOMER_IN_TRANSIT="OLD_CUSTOMER_IN_TRANSIT"}(s||(s={}));const B=[{label:"信息",value:s.INFORMATION_IN_TRANSIT},{label:"客源",value:s.CUSTOMER_SOURCE_IN_TRANSIT},{label:"链接",value:s.LINK_IN_TRANSIT},{label:"会见",value:s.MEETING_IN_TRANSIT},{label:"意向",value:s.INTENTION_IN_TRANSIT},{label:"订单",value:s.ORDER_FORM_IN_TRANSIT},{label:"派单",value:s.ASSIGN_DESIGNER},{label:"量房",value:s.MEASURE_IN_TRANSIT},{label:"报价",value:s.SOLUTION_QUOTATION_IN_TRANSIT},{label:"合同",value:s.CONTRACT_IN_TRANSIT},{label:"复尺",value:s.COMPOUND_RULER_IN_TRANSIT},{label:"采购",value:s.PURCHASE_IN_TRANSIT},{label:"生产",value:s.PRODUCTION_IN_TRANSIT},{label:"物流",value:s.LOGISTICS_IN_TRANSIT},{label:"仓储",value:s.STORAGE_IN_TRANSIT},{label:"安装",value:s.INSTALL_IN_TRANSIT},{label:"满意度交付",value:s.DELIVER_IN_TRANSIT},{label:"老客户",value:s.OLD_CUSTOMER_IN_TRANSIT}];var d;!function(E){E.UNGROUPED="UNGROUPED"}(d||(d={}));const c=[{label:"未分组",value:d.UNGROUPED}],U={[D.CUSTOMER_SOURCE]:i,[D.PROCESS_STAGE]:B,[D.CUSTOMER_LABEL]:c},M=[{label:"客户来源",value:D.CUSTOMER_SOURCE},{label:"进程阶段",value:D.PROCESS_STAGE},{label:"职业名称",value:D.POSITION},{label:"客户标签",value:D.CUSTOMER_LABEL},{label:"房屋居室",value:D.BEDROOM},{label:"交房选项",value:D.DELIVERY_TIME_OPTION},{label:"房屋户型",value:D.HOUSE_INFORMATION},{label:"房屋面积",value:D.HOUSE_SQUARE_METERS}],P=[{name:"客户推荐",value:r.CUSTOMER_RECOMMENDATION},{name:"同业联盟推荐",value:r.DESIGN_ALLIANCE},{name:"异业联盟推荐",value:r.DIFFERENT_DESIGN_ALLIANCE},{name:"员工推荐",value:r.EMPLOYEE_RECOMMENDATION},{name:"微信群",value:r.WECHAT_GROUPS}],H=[{name:"系列",value:_.SERIES},{name:"款式",value:_.STYLE}],p=[{name:"厨房",value:R.KITCHEN},{name:"客厅",value:R.LIVING_ROOM},{name:"餐厅",value:R.RESTAURANT},{name:"主卧",value:R.MASTER_BEDROOM},{name:"次卧",value:R.SECOND_BEDROOM},{name:"衣帽间",value:R.CLOAKROOM},{name:"青少年房",value:R.YOUNGSTER_ROOM},{name:"书房",value:R.STUDY},{name:"主卫",value:R.MASTER_BATHROOM},{name:"次卫",value:R.SECOND_BATHROOM},{name:"玄关",value:R.HALLWAY},{name:"阳台",value:R.BALCONY},{name:"储物间",value:R.STOREROOM},{name:"其他空间",value:R.OTHER_SPACE}],g=[{name:"已交房",value:T.DELIVERED_HOUSE},{name:"未交房",value:T.UNDEVELOPED_HOUSE},{name:"不确认交期",value:T.UNCERTAIN_DELIVERY}],v=[{name:"精装房",value:o.LUXURY_HOUSE},{name:"毛坯房",value:o.BARE_SHELL_HOUSE},{name:"二手房",value:o.SECOND_HAND_HOUSE},{name:"待定",value:o.UNDETERMINED}];var F;!function(E){E.QUOTATION_SOLUTION="QUOTATION_SOLUTION"}(F||(F={}));const G=[{name:"标配",value:I.stdConf},{name:"赠品",value:I.gift},{name:"礼品",value:I.present},{name:"套餐",value:I.package},{name:"正价",value:I.positive},{name:"特价",value:I.specialPrice},{name:"定价",value:I.fixPrice},{name:"退货",value:I.returnedPurchase},{name:"退款",value:I.refund},{name:"样品",value:I.sample},{name:"退库",value:I.returning_inventory},{name:"备库",value:I.backup_warehouse},{name:"秒杀品",value:I.sec_kill_product},{name:"活动产品",value:I.activity_product},{name:"库存产品",value:I.product_stock}],W={[F.QUOTATION_SOLUTION]:[I.stdConf,I.gift,I.present,I.positive,I.specialPrice,I.fixPrice,I.returning_inventory]};function Y(E){const e=W[E]||[];return 0===e.length?G:G.filter((E=>e.includes(E.value)))}function h(E,e){return(W[e]||[]).includes(E)}const b=[{name:"个位四舍五入",value:a.SINGLE_ROUND},{name:'个位凑"8"',value:a.SINGLE_SET_EIGHT},{name:'个位凑"9"',value:a.SINGLE_SET_NINE},{name:"个位进十",value:a.SINGLE_SET_TEN},{name:'个位替换 "4"或"7" (加 "1")',value:a.SINGLE_PLUS_ONE},{name:'十位替换 "4"或"7" (加 "1")',value:a.TEN_PLUS_ONE},{name:'个位和十位替换 "4"或"7" (加 "1")',value:a.SINGLE_TEN_PLUS_ONE}],f={},y={},V=(E,e=0)=>{const A=E.measure,N=E.count,r=E.unitPrice,_=E.priceFlag?I[E.priceFlag]:void 0,O=Math.max(0,A||0),R=Math.max(0,N||0),T=Math.max(0,r||0);let o;switch(_){case I.gift:case I.present:case I.sample:o=0;break;case I.refund:case I.returnedPurchase:o=-1*O*R*T;break;case I.stdConf:case I.positive:case I.specialPrice:case I.fixPrice:case I.package:case I.activity_product:case I.sec_kill_product:case I.product_stock:case I.backup_warehouse:case I.returning_inventory:default:o=O*R*T}if(void 0!==e){const E=Math.max(0,Math.floor(e)),A=Math.pow(10,E);return Math.round(o*A)/A}return o},K=(E,e=0)=>{if(E.children&&E.children.length>0){let A=0;return E.children.forEach((E=>{A+=K(E,e)})),A}const A=E.priceFlag?I[E.priceFlag]:void 0;if(A===I.stdConf||A===I.gift)return 0;const N=V(E,e);let r=N*Math.max(0,E.productCoefficient||1)*(Math.max(0,E.itemDiscount||100)/100);if(N<0&&(r=-Math.abs(r)),void 0!==e){const E=Math.max(0,Math.floor(e)),A=Math.pow(10,E);return Math.round(r*A)/A}return r};function x(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(E=>{const e=16*Math.random()|0;return("x"===E?e:3&e|8).toString(16)}))}function k(E=32){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";let A="";for(let N=0;N<E;N++){A+=e[Math.floor(64*Math.random())]}return A}function w(E){if(null==E||""===E)return"0";const e=parseFloat(E);return isNaN(e)?"0":new Intl.NumberFormat("en-US").format(e)}const X={wholeHouse:{name:"全屋",order:0},drawing:{name:"客厅",order:1},dining:{name:"餐厅",order:2},masterBedroom:{name:"卧室",order:3},cloakRoom:{name:"衣帽间",order:4},teenagerBedroom:{name:"青少年房",order:5},studyBedroom:{name:"书房",order:6},entrance:{name:"玄关",order:7},balcony:{name:"阳台",icon:"garden",order:8},storageRoom:{name:"储物间",order:9},otherStorageRoom:{name:"其他空间",order:10},publicAreas:{name:"公共区域",order:11},kitchen:{name:"厨房",order:12},mainBathroom:{name:"卫生间",order:13}};function Q(){return Object.values(X).sort(((E,e)=>E.order-e.order))}function j(E){return X[E]||null}const J={FLOOR_CABINET:{name:"地柜",order:1},WALL_CABINET:{name:"吊柜",order:2},CYLINDER_CABINET:{name:"筒柜",order:3},HALF_HEIGHT_CABINET:{name:"半高柜",order:4},SLIDE_DOOR_CABINET:{name:"移门柜",order:5},STORAGE_CABINET:{name:"收纳柜",order:6},DISPLAY_CABINET:{name:"展示柜",order:7},TV_CABINET:{name:"电视柜",order:17},WINE_CABINET:{name:"酒柜",order:18},SIDE_CABINET:{name:"边柜",order:30},CONSOLE_CABINET:{name:"玄关柜",order:31},MESA:{name:"台面",order:32},HALL_CABINET:{name:"厅柜",order:35},BOOKCASE:{name:"书柜",order:36},WARDROBE:{name:"衣柜",order:37},BAR_COUNTER:{name:"吧台",order:39},WATER_BASIN_CABINET:{name:"水盆柜",order:61},CABINET_STYLE_WARDROBE:{name:"柜式衣柜",order:69},WALL_MOUNTED_WARDROBE:{name:"挂墙衣柜",order:70},COLUMN_WARDROBE:{name:"立柱衣柜",order:71},BED_CABINET:{name:"床柜",order:73},ELEVATED_CABINET:{name:"加高柜",order:74},WINE_GRILLE_HOLDER:{name:"酒杯架",order:78},OPEN_LATTICE:{name:"开放格",order:109},BEDSIDE:{name:"床头柜",order:111},DRAWER_CABINET:{name:"抽屉柜",order:112},DECORATIVE_CABINET:{name:"装饰柜",order:113},CYLINDER_CABINET_HIGH_LATTICE:{name:"筒柜加高格",order:117},BATHROOM_CABINET:{name:"浴室柜",order:128},MIRROR_CABINET:{name:"镜柜",order:136},SHOE_CABINET:{name:"鞋柜",order:162},TABLEWARE:{name:"餐边柜",order:216},BALCONY_CABINET:{name:"阳台柜",order:257},SHOE_HAT_CABINET:{name:"鞋帽柜",order:258},SPLIT_HALL_CABINET:{name:"分体式厅柜",order:350},DRAWER:{name:"抽屉",order:8},PULL_BASKET:{name:"拉篮",order:9},WATER_BASIN:{name:"水盆",order:33},FAUCET:{name:"龙头",order:38},SLIDE_DOOR_HARDWARE:{name:"移门五金",order:91},BRACE:{name:"支撑",order:119},DAMPER:{name:"阻尼器",order:121},SLIDE_RAIL:{name:"滑轨",order:81},SWITCH:{name:"开关",order:84},LIGHT_BELT:{name:"灯带",order:85},FLOODLIGHT:{name:"射灯",order:86},HANGER_ROD:{name:"挂衣杆",order:87},WATERPROOF_PARTS:{name:"防水件",order:88},HINGE:{name:"铰链",order:116},STOP:{name:"门碰",order:119},COUPLING_HEAD:{name:"连接头",order:149},COUPLE:{name:"三合一",order:151},REBOUND_DEVICE:{name:"反弹装置",order:159},DISC_EXTRACTOR:{name:"碟架",order:160},BOTTLE_OPENER:{name:"开瓶器",order:194},CAN_OPENER:{name:"开罐器",order:209},COOKER:{name:"锅架",order:211},OTHER_HARDWARE:{name:"其他五金",order:99},SMOKE_MACHINE:{name:"油烟机",order:256},GAS_STOVE:{name:"燃气灶",order:257},RADIANT_COOKER:{name:"辐热电灶",order:258},DISINFECTION_CABINET:{name:"消毒柜",order:259},ELECTRIC_OVEN:{name:"电烤箱",order:260},ELECTRIC_STEAMER:{name:"电蒸箱",order:261},DISHWASHER:{name:"洗碗机",order:262},MICROWAVE_OVEN:{name:"微波炉",order:263},SLAG_CRUSHER:{name:"渣粉碎机",order:264},WATER_PURIFIER:{name:"净水器",order:265},LAMPS_AND_LANTERNS:{name:"灯具",order:266},TRANSFORMER:{name:"变压器",order:267},AGITATOR:{name:"搅拌器",order:268},HEATER:{name:"热水器",order:269},WASHING_MACHINE:{name:"洗衣机",order:270},DRYER:{name:"烘干机",order:271},SMART_TRASH_CAN:{name:"智能垃圾桶",order:272},STERILIZER:{name:"消毒器",order:273},PURIFIER:{name:"净化器",order:274},INTELLIGENT_PLUG_IN:{name:"智能插座",order:275},PROXYELE:{name:"电源模块",order:276},ADDTIONAL:{name:"其他电器",order:277},DOOR_LEAF:{name:"门扇",order:131},DOOR_JAMB:{name:"门套",order:132},DOOR_LOCK:{name:"门锁",order:165},DOOR_HEADER:{name:"门楣",order:166},DOOR_STOPPER:{name:"门吸",order:168},PASS:{name:"垭口",order:169},WALLBOARD:{name:"墙板",order:167},SOFA:{name:"沙发",order:278},TEA_TABLE:{name:"沙发",order:278},CORNER_TABLE:{name:"沙发",order:278},TABLE:{name:"沙发",order:278},BED:{name:"沙发",order:278},DESK:{name:"沙发",order:278},CHAIR:{name:"沙发",order:278},LOUNGE_CHAIR:{name:"沙发",order:278}};function Z(E){return J[E]||null}function q(){return Object.entries(J).map((([E,e])=>({code:E,name:e.name})))}const z={CABINET_TYPE:{name:"定制柜",order:0,mainCategory:[],productCategories:["HALL_CABINET","CONSOLE_CABINET","WINE_CABINET","SHOE_CABINET","WALL_CABINET","FLOOR_CABINET","STORAGE_CABINET","TV_CABINET","WARDROBE","BOOKCASE","MIRROR_CABINET","BATHROOM_CABINET","CYLINDER_CABINET","SIDE_CABINET","HALF_HEIGHT_CABINET","SLIDE_DOOR_CABINET","DISPLAY_CABINET","WATER_BASIN_CABINET","COLUMN_WARDROBE","BED_CABINET","ELEVATED_CABINET","DECORATIVE_CABINET","DRAWER_CABINET","BEDSIDE","TABLEWARE","SPLIT_HALL_CABINET","BALCONY_CABINET","SHOE_HAT_CABINET"]},MESA:{name:"台面",order:1,mainCategory:["MESA"],productCategories:[]},INNER_DOOR:{name:"内门",order:2,mainCategory:["INNER_DOOR"],productCategories:["DOOR_LEAF","DOOR_JAMB"]},PASS:{name:"垭口",order:3,mainCategory:["PASS"],productCategories:[]},WALLBOARD:{name:"墙板",order:4,mainCategory:["WALLBOARD"],productCategories:["WALLBOARD"]},FUNCTIONAL_HARDWARE:{name:"功能五金",order:5,mainCategory:["FUNCTIONAL_HARDWARE","INNER_DOOR"],productCategories:["DRAWER","PULL_BASKET","WATER_BASIN","FAUCET","INTELLIGENCE_HARDWARE","OTHER_HARDWARE","HARDWARE_ACCESSORIES","SLIDE_DOOR_HARDWARE","COUPLING_HEAD","BRACE","HANDLES","DAMPER","SLIDE_RAIL","SWITCH","LIGHT_BELT","FLOODLIGHT","HANGER_ROD","WATERPROOF_PARTS","HINGE","STOP","COUPLE","REBOUND_DEVICE","DISC_EXTRACTOR","BOTTLE_OPENER","CAN_OPENER","COOKER","DOOR_STOPPER","DOOR_LOCK","DOOR_HEADER"]},APPLIANCE:{name:"配套电器",order:6,mainCategory:["INTELLIGENCE_ELECTRICAL"],productCategories:["SMOKE_MACHINE","GAS_STOVE","RADIANT_COOKER","DISINFECTION_CABINET","ELECTRIC_OVEN","ELECTRIC_STEAMER","DISHWASHER","MICROWAVE_OVEN","SLAG_CRUSHER","INTELLIGENCE_ELECTRICAL_APPARATUS","WATER_PURIFIER","LAMPS_AND_LANTERNS","TRANSFORMER","STOVE","AGITATOR","HEATER","WASHING_MACHINE","DRYER","SMART_TRASH_CAN","STERILIZER","PURIFIER","INTELLIGENT_PLUG_IN","ADDTIONAL","PROXYELE"]},SOFA:{name:"沙发",order:7,mainCategory:["SOFA"],productCategories:[]},TEA_TABLE:{name:"茶几",order:7,mainCategory:["TEA_TABLE"],productCategories:[]},CORNER_TABLE:{name:"角几",order:7,mainCategory:["CORNER_TABLE"],productCategories:[]},SIDE_CABINET:{name:"边柜",order:7,mainCategory:["SIDE_CABINET"],productCategories:[]},TABLE:{name:"餐桌",order:7,mainCategory:["TABLE"],productCategories:[]},BED:{name:"床",order:7,mainCategory:["BED"],productCategories:[]},BEDSIDE:{name:"床头柜",order:7,mainCategory:["BEDSIDE"],productCategories:[]},DESK:{name:"书桌",order:7,mainCategory:["DESK"],productCategories:[]},CHAIR:{name:"椅子",order:7,mainCategory:["CHAIR"],productCategories:[]},LOUNGE_CHAIR:{name:"休闲椅",order:7,mainCategory:["LOUNGE_CHAIR"],productCategories:[]},TV_CABINET:{name:"电视柜",order:7,mainCategory:["TV_CABINET"],productCategories:[]},CONSOLE_CABINET:{name:"玄关柜",order:7,mainCategory:["CONSOLE_CABINET"],productCategories:[]},DECORATIVE_CABINET:{name:"装饰柜",order:7,mainCategory:["DECORATIVE_CABINET"],productCategories:[]}},$={TOTAL_CUPBOARD:{...z,CABINET_TYPE:{name:"定制柜",order:0,mainCategory:[],productCategories:["FLOOR_CABINET","MESA","WALL_CABINET","CYLINDER_CABINET","SLIDE_DOOR_CABINET","HALF_HEIGHT_CABINET","BAR_COUNTER"]}}},EE=z;function eE(E){const e=E&&$[E]?$[E]:z;return Object.values(e).sort(((E,e)=>E.order-e.order))}function AE(E,e){return e&&$[e]&&$[e][E]?$[e][E]:z[E]||null}function NE(E,e){const A=AE(E,e);return A&&A.productCategories?A.productCategories.map((E=>{const e=J[E];return{categoryName:e?e.name:E,categoryCode:E}})):[]}function rE(E,e){if(!E)return null;const A=e&&$[e]?$[e]:z;for(const[e,N]of Object.entries(A)){if(N.productCategories&&Array.isArray(N.productCategories)&&N.productCategories.some((e=>e.toUpperCase()===E.toUpperCase())))return e;if(N.mainCategory&&Array.isArray(N.mainCategory)&&N.mainCategory.some((e=>e.toUpperCase()===E.toUpperCase())))return e}return null}const _E={CUSTOM_FURNITURE:{name:"定制家具",icon:"CUSTOM_FURNITURE",order:0,matchUnit:["平米"],roomGroups:[{room:X.wholeHouse,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.drawing,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.dining,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.masterBedroom,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.cloakRoom,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.teenagerBedroom,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.studyBedroom,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.entrance,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.balcony,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.storageRoom,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.otherStorageRoom,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.publicAreas,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.kitchen,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]},{room:X.mainBathroom,groups:[z.CABINET_TYPE,z.FUNCTIONAL_HARDWARE,z.APPLIANCE]}]},ALL_SUBJECT:{name:"全品项",icon:"ALL_SUBJECT",order:1,roomGroups:[]},TOTAL_CUPBOARD:{name:"整体橱柜",icon:"TOTAL_CUPBOARD",order:1,matchUnit:["延米"],roomGroups:[{room:X.kitchen,groups:[$.TOTAL_CUPBOARD.CABINET_TYPE,$.TOTAL_CUPBOARD.FUNCTIONAL_HARDWARE,$.TOTAL_CUPBOARD.APPLIANCE]}]},INNER_DOOR_WALLBOARD:{name:"内门墙板",icon:"INNER_DOOR_WALLBOARD",order:3,roomGroups:[{room:X.wholeHouse,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.drawing,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.dining,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.masterBedroom,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.cloakRoom,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.teenagerBedroom,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.studyBedroom,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.entrance,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.balcony,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.storageRoom,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.otherStorageRoom,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.publicAreas,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.kitchen,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]},{room:X.mainBathroom,groups:[z.INNER_DOOR,z.PASS,z.WALLBOARD,z.FUNCTIONAL_HARDWARE]}]},SOFT_FURNITURE:{name:"软成品",icon:"SOFT_FURNITURE",order:4,roomGroups:[{room:X.wholeHouse,groups:[z.SOFA,z.TEA_TABLE,z.CORNER_TABLE,z.SIDE_CABINET,z.TABLE,z.BED,z.BEDSIDE,z.DESK,z.CHAIR,z.LOUNGE_CHAIR,z.TV_CABINET,z.CONSOLE_CABINET,z.DECORATIVE_CABINET]},{room:X.drawing,groups:[z.SOFA,z.TEA_TABLE,z.CORNER_TABLE,z.SIDE_CABINET,z.TABLE,z.BED,z.BEDSIDE,z.DESK,z.CHAIR,z.LOUNGE_CHAIR,z.TV_CABINET,z.CONSOLE_CABINET,z.DECORATIVE_CABINET]},{room:X.masterBedroom,groups:[z.SOFA,z.TEA_TABLE,z.CORNER_TABLE,z.SIDE_CABINET,z.TABLE,z.BED,z.BEDSIDE,z.DESK,z.CHAIR,z.LOUNGE_CHAIR,z.TV_CABINET,z.CONSOLE_CABINET,z.DECORATIVE_CABINET]},{room:X.teenagerBedroom,groups:[z.SOFA,z.TEA_TABLE,z.CORNER_TABLE,z.SIDE_CABINET,z.TABLE,z.BED,z.BEDSIDE,z.DESK,z.CHAIR,z.LOUNGE_CHAIR,z.TV_CABINET,z.CONSOLE_CABINET,z.DECORATIVE_CABINET]},{room:X.studyBedroom,groups:[z.SOFA,z.TEA_TABLE,z.CORNER_TABLE,z.SIDE_CABINET,z.TABLE,z.BED,z.BEDSIDE,z.DESK,z.CHAIR,z.LOUNGE_CHAIR,z.TV_CABINET,z.CONSOLE_CABINET,z.DECORATIVE_CABINET]},{room:X.dining,groups:[z.SOFA,z.TEA_TABLE,z.CORNER_TABLE,z.SIDE_CABINET,z.TABLE,z.BED,z.BEDSIDE,z.DESK,z.CHAIR,z.LOUNGE_CHAIR,z.TV_CABINET,z.CONSOLE_CABINET,z.DECORATIVE_CABINET]}]},HOME_DECORATION_CONSTRUCTION:{name:"家装施工",icon:"HOME_DECORATION_CONSTRUCTION",order:5,roomGroups:[{room:X.wholeHouse,groups:[]},{room:X.drawing,groups:[]},{room:X.dining,groups:[]},{room:X.masterBedroom,groups:[]},{room:X.cloakRoom,groups:[]},{room:X.teenagerBedroom,groups:[]},{room:X.studyBedroom,groups:[]},{room:X.entrance,groups:[]},{room:X.balcony,groups:[]},{room:X.storageRoom,groups:[]},{room:X.otherStorageRoom,groups:[]},{room:X.publicAreas,groups:[]},{room:X.kitchen,groups:[]},{room:X.mainBathroom,groups:[]}]}};function OE(E){const e=_E[E];return e?e.roomGroups.map((e=>{const A=e.room,N=Object.keys(X).find((E=>X[E]===A)),r=e.groups.map((e=>{let A=Object.keys(z).find((E=>z[E]===e));!A&&$[E]&&(A=Object.keys($[E]).find((A=>$[E][A]===e)));let N=[];if(e&&e.productCategories)N=e.productCategories.map((E=>{const e=J[E];return{categoryName:e?e.name:E,categoryCode:E}}));else if(A){N=(NE(A,E)||[]).map((E=>{const e=J[E.categoryCode];return{categoryName:e?e.name:E.categoryCode,categoryCode:E.categoryCode}}))}return{groupName:e.name,groupCode:A||"",productCategories:N}}));return{roomName:A.name,roomCode:N||"",groups:r}})):[]}function RE(E,e){const A=_E[E];if(!A)return[];const N=A.roomGroups.find((E=>E.room===X[e]));return N?N.groups.map((e=>{const A=Object.keys(z).find((A=>z[A]===e||!(!$[E]||$[E][A]!==e)));if(!A)return{groupName:e.name,groupCode:"",productCategories:[],classifyType:E};const N=(NE(A,E)||[]).map((E=>{const e=J[E.categoryCode];return{categoryName:e?e.name:E.categoryCode,categoryCode:E.categoryCode}}));return{groupName:e.name,groupCode:A,productCategories:N,classifyType:E}})):[]}function TE(E){if(!E)return null;const e=_E[E];return e?{code:E,name:e.name,icon:e.icon,order:e.order,matchUnit:e.matchUnit}:null}function oE(E=[]){const e=Object.keys(_E).filter((e=>"ALL_SUBJECT"!==e&&!E.includes(e)));let A=[];e.forEach((E=>{const e=OE(E);A=[...A,...e]}));const N={};return A.forEach((E=>{if(N[E.roomCode]){const e=N[E.roomCode].groups.map((E=>E.groupCode));E.groups.forEach((A=>{e.includes(A.groupCode)||(N[E.roomCode].groups.push(A),e.push(A.groupCode))}))}else N[E.roomCode]={...E,groups:[...E.groups]}})),Object.values(N)}const IE={wholeHouse:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],drawing:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],dining:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],masterBedroom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],cloakRoom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],teenagerBedroom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],studyBedroom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],entrance:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],balcony:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],storageRoom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],otherStorageRoom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],publicAreas:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],kitchen:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],mainBathroom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"]};function aE(E){return IE[E]||[]}function CE(E){return aE(E).map((E=>{var e;return{groupId:E,groupName:(null===(e=z[E])||void 0===e?void 0:e.name)||E}}))}function nE(E,e){return aE(E).includes(e)}const LE={CABINET_TYPE:["HALL_CABINET","CONSOLE_CABINET","WARDROBE","BOOKCASE"],FUNCTIONAL_HARDWARE:["DRAWER","PULL_BASKET","HINGE","SLIDE_RAIL"],APPLIANCE:["SMOKE_MACHINE","GAS_STOVE","MICROWAVE_OVEN","DISHWASHER"]};function SE(E){return LE[E]||[]}function tE(E){return SE(E).map((E=>{const e=J[E];return{itemId:E,categoryName:e?e.name:E}}))}class uE{constructor(E){this.uuid="",this.productId="",this.unitPrice=0,this.productPriceId="",this.spuName="",this.unitLabel="",this.spuId="",this.brandId="",this.brandName="",this.classifyId="",this.classifyName="",this.model="",this.outlineDemension="",this.categoryCode="",this.categoryName="",this.parentCategoryCode="",this.parentCategoryName="",this.styleId="",this.styleName="",this.roomName="",this.roomCode="",this.schemeName="方案A",this.groupName="",this.groupCode="",this.width=null,this.height=null,this.depth=null,this.originWidth=null,this.originHeight=null,this.originDepth=null,this.skuAttributes=[],this.moveDirection="",this.location="",this.measureUnit="",this.measure=1,this.priceFlag="",this.standardPrice=0,this.actualPrice=0,this.count=1,this.remark="",this.productCoefficient=1,this.itemDiscount=100,this.picture=[],this.children=[],this.components=[],E&&Object.assign(this,E)}}export{z as BASE_GROUP_TYPES,$ as CLASSIFY_GROUP_TYPES,_E as CLASSIFY_ROOM_GROUP_MAP,A as CURRENCY_UNIT_ENUM,u as CURRENCY_UNIT_OPTIONS,d as CUSTOMER_LABEL_ENUM,l as CUSTOMER_SOURCE_ENUM,U as DICTIONARY_ATTRIBUTE_OPTIONS_MAP,c as DICTIONARY_CUSTOMER_LABEL_OPTIONS,i as DICTIONARY_CUSTOMER_SOURCE_OPTIONS,D as DICTIONARY_IDENTIFY_ENUM,M as DICTIONARY_IDENTIFY_OPTIONS,B as DICTIONARY_PROCESS_STAGE_OPTIONS,LE as GROUP_ITEM_MAPPING,EE as GROUP_TYPES,F as ListType,W as PRICE_FLAG_LIST_TYPE_MAP,s as PROCESS_STAGE_ENUM,J as PRODUCT_CATEGORIES,uE as QuotationItem,r as RECOMMENDATION_TYPE_ENUM,IE as ROOM_GROUP_MAPPING,X as ROOM_TYPES,f as __constantsPlaceholder,C as __enumsPlaceholder,y as __interfacesPlaceholder,K as calcActualPrice,V as calcStandardPrice,e as design_type,L as design_type_options,w as formatNumberWithCommas,k as generateRandomId,x as generateUUID,oE as getAllClassifyRoomsAndGroups,q as getAllProductCategories,TE as getClassifyBaseInfo,OE as getClassifyRoomsAndGroups,CE as getGroupObjectsByRoomId,AE as getGroupTypeByKey,rE as getGroupTypeByProductCategory,RE as getGroupsByClassifyAndRoom,aE as getGroupsByRoomId,tE as getItemObjectsByGroupId,SE as getItemsByGroupId,Y as getPriceFlagOptionsByListType,NE as getProductCategoriesByGroupType,Z as getProductCategoryByKey,j as getRoomTypeByKey,eE as getSortedGroupTypes,Q as getSortedRoomTypes,T as house_status,g as house_status_options,o as house_type,v as house_type_options,nE as isGroupAvailableForRoom,h as isPriceFlagValidForListType,S as order_status,t as order_status_options,I as price_flag,G as price_flag_options,_ as pro_series_type_enum,H as pro_series_type_options,P as recommendation_type_options,a as rounding_rule,b as rounding_rule_options,O as sales_end_app_tag,E as solution_status,n as solution_status_options,R as spatial_category,p as spatial_category_options,N as supply_mode,m as supply_mode_options};
|
|
1
|
+
var e,E,a,r,n,o,A,t,N,T,O,_,R;!function(e){e.DRAFT="DRAFT",e.ACTIVE="ACTIVE",e.LOCKED="LOCKED",e.REVOKED="REVOKED",e.PRE_SIGNED="PRE_SIGNED",e.SIGNED="SIGNED",e.SIGNED_REVOKED="SIGNED_REVOKED"}(e||(e={})),function(e){e.BUDGET="BUDGET",e.MODEL_ROOM_EX="MODEL_ROOM_EX",e.COMMUNITY_EX="COMMUNITY_EX",e.ORDER="ORDER"}(E||(E={})),function(e){e.CNY="CNY",e.USD="USD",e.EUR="EUR",e.GBP="GBP",e.HKD="HKD"}(a||(a={})),function(e){e.own_production="own_production",e.brand_agency="brand_agency",e.wholesale_procur="wholesale_procur",e.cross_border_pro="cross_border_pro",e.oem_contract="oem_contract"}(r||(r={})),function(e){e.CUSTOMER_RECOMMENDATION="CUSTOMER_RECOMMENDATION",e.DESIGN_ALLIANCE="DESIGN_ALLIANCE",e.DIFFERENT_DESIGN_ALLIANCE="DIFFERENT_DESIGN_ALLIANCE",e.EMPLOYEE_RECOMMENDATION="EMPLOYEE_RECOMMENDATION",e.WECHAT_GROUPS="WECHAT_GROUPS"}(n||(n={})),function(e){e.SERIES="SERIES",e.STYLE="STYLE"}(o||(o={})),function(e){e.STANDARD_RETAIL="STANDARD_RETAIL",e.ACTUAL_RETAIL="ACTUAL_RETAIL"}(A||(A={})),function(e){e.KITCHEN="KITCHEN",e.LIVING_ROOM="LIVING_ROOM",e.RESTAURANT="RESTAURANT",e.MASTER_BEDROOM="MASTER_BEDROOM",e.SECOND_BEDROOM="SECOND_BEDROOM",e.CLOAKROOM="CLOAKROOM",e.YOUNGSTER_ROOM="YOUNGSTER_ROOM",e.STUDY="STUDY",e.MASTER_BATHROOM="MASTER_BATHROOM",e.SECOND_BATHROOM="SECOND_BATHROOM",e.HALLWAY="HALLWAY",e.BALCONY="BALCONY",e.STOREROOM="STOREROOM",e.OTHER_SPACE="OTHER_SPACE"}(t||(t={})),function(e){e.DELIVERED_HOUSE="DELIVERED_HOUSE",e.UNDEVELOPED_HOUSE="UNDEVELOPED_HOUSE",e.UNCERTAIN_DELIVERY="UNCERTAIN_DELIVERY"}(N||(N={})),function(e){e.LUXURY_HOUSE="LUXURY_HOUSE",e.BARE_SHELL_HOUSE="BARE_SHELL_HOUSE",e.SECOND_HAND_HOUSE="SECOND_HAND_HOUSE",e.UNDETERMINED="UNDETERMINED"}(T||(T={})),function(e){e.stdConf="stdConf",e.gift="gift",e.present="present",e.package="package",e.positive="positive",e.specialPrice="specialPrice",e.fixPrice="fixPrice",e.returnedPurchase="returnedPurchase",e.refund="refund",e.sample="sample",e.returning_inventory="returning_inventory",e.backup_warehouse="backup_warehouse",e.sec_kill_product="sec_kill_product",e.activity_product="activity_product",e.product_stock="product_stock"}(O||(O={})),function(e){e.SINGLE_ROUND="SINGLE_ROUND",e.SINGLE_SET_EIGHT="SINGLE_SET_EIGHT",e.SINGLE_SET_NINE="SINGLE_SET_NINE",e.SINGLE_SET_TEN="SINGLE_SET_TEN",e.SINGLE_PLUS_ONE="SINGLE_PLUS_ONE",e.TEN_PLUS_ONE="TEN_PLUS_ONE",e.SINGLE_TEN_PLUS_ONE="SINGLE_TEN_PLUS_ONE"}(_||(_={})),function(e){e.ESTATE="ESTATE"}(R||(R={}));const I={},i=[{name:"草稿",value:e.DRAFT},{name:"可用",value:e.ACTIVE},{name:"锁定",value:e.LOCKED},{name:"已作废",value:e.REVOKED},{name:"预签",value:e.PRE_SIGNED},{name:"已签",value:e.SIGNED},{name:"已签作废",value:e.SIGNED_REVOKED}],u=[{name:"预算方案",value:E.BUDGET},{name:"样板间专属方案",value:E.MODEL_ROOM_EX},{name:"小区专属方案",value:E.COMMUNITY_EX},{name:"订单方案",value:E.ORDER}];var l;!function(e){e.NULLIFIED="NULLIFIED",e.LOCKED="LOCKED",e.OPEN="OPEN"}(l||(l={}));const C=[{name:"作废",value:l.NULLIFIED},{name:"锁定",value:l.LOCKED},{name:"开放",value:l.OPEN}],s=[{name:"人民币",value:a.CNY},{name:"美元",value:a.USD},{name:"欧元",value:a.EUR},{name:"英镑",value:a.GBP},{name:"港币",value:a.HKD}],m=[{name:"自制生产",value:r.own_production},{name:"品牌代理",value:r.brand_agency},{name:"批发采购",value:r.wholesale_procur},{name:"跨境采购",value:r.cross_border_pro},{name:"OEM代工",value:r.oem_contract}];var L,S;!function(e){e.CUSTOMER_SOURCE="CUSTOMER_SOURCE",e.PROCESS_STAGE="PROCESS_STAGE",e.POSITION="POSITION",e.CUSTOMER_LABEL="CUSTOMER_LABEL",e.BEDROOM="BEDROOM",e.DELIVERY_TIME_OPTION="DELIVERY_TIME_OPTION",e.HOUSE_INFORMATION="HOUSE_INFORMATION",e.HOUSE_SQUARE_METERS="HOUSE_SQUARE_METERS",e.BUSINESS_SCOPE="BUSINESS_SCOPE",e.BUSINESS_WORK_PHASE="BUSINESS_WORK_PHASE"}(L||(L={})),function(e){e.OTO_TOURIST_SOURCE="OTO_TOURIST_SOURCE",e.GROUP_OTO="GROUP_OTO",e.TMALL="TMALL",e.TENCENT_PLATFORM="TENCENT_PLATFORM",e.DA_ZHONG_DIAN_PING="DA_ZHONG_DIAN_PING",e.STORE_SALES="STORE_SALES",e.OFFICIAL_REGISTRATION="OFFICIAL_REGISTRATION",e.CITY_OTO="CITY_OTO",e.COMMUNITY_MARKETING_ACCOUNTS="COMMUNITY_MARKETING_ACCOUNTS",e.MERCHANT_WE_MEDIA_REGISTRATION="MERCHANT_WE_MEDIA_REGISTRATION",e.PRIVATE_DOMAIN="PRIVATE_DOMAIN",e.CUSTOMER_RECOMMENDATION="CUSTOMER_RECOMMENDATION",e.ON_GOING_CUSTOMER_REFERRAL="ON_GOING_CUSTOMER_REFERRAL",e.OLD_CUSTOMER_REFERRAL="OLD_CUSTOMER_REFERRAL",e.RECOMMENDED_BY_SEED_CUSTOMER="RECOMMENDED_BY_SEED_CUSTOMER",e.MALL_TRAFFIC_FLOW="MALL_TRAFFIC_FLOW",e.NATURAL_TRAFFIC="NATURAL_TRAFFIC",e.EVENT_TRAFFIC="EVENT_TRAFFIC",e.ADVERTISING_TRAFFIC="ADVERTISING_TRAFFIC",e.SOCIAL_COMMUNITY_CUSTOMER="SOCIAL_COMMUNITY_CUSTOMER",e.SELF_BUILT_COMMUNITY="SELF_BUILT_COMMUNITY",e.SELF_BUILT_EVENT_COMMUNITY="SELF_BUILT_EVENT_COMMUNITY",e.MALL_MARKETING_COMMUNITY="MALL_MARKETING_COMMUNITY",e.ALLIANCE_COOPERATION="ALLIANCE_COOPERATION",e.INTERIOR_DESIGNER_COLLABORATION="INTERIOR_DESIGNER_COLLABORATION",e.HOME_IMPROVEMENT_COMPANY_COLLABORATION="HOME_IMPROVEMENT_COMPANY_COLLABORATION",e.MAIN_MATERIAL_MERCHANT_COLLABORATION="MAIN_MATERIAL_MERCHANT_COLLABORATION",e.MAIN_MATERIAL_SALES_COLLABORATION="MAIN_MATERIAL_SALES_COLLABORATION",e.NON_INDUSTRY_ALLIANCE="NON_INDUSTRY_ALLIANCE",e.DEVELOPER_COLLABORATION="DEVELOPER_COLLABORATION",e.PROPERTY_COLLABORATION="PROPERTY_COLLABORATION",e.MALL_COLLABORATION="MALL_COLLABORATION",e.BANK_COOPERATION="BANK_COOPERATION",e.EMPLOYEE_REFERRAL="EMPLOYEE_REFERRAL",e.BE_ON_THE_JOB_EMPLOYEE_REFERRAL="BE_ON_THE_JOB_EMPLOYEE_REFERRAL",e.EARLY_EMPLOYEE_REFERRAL="EARLY_EMPLOYEE_REFERRAL",e.OTHER_SOURCE="OTHER_SOURCE",e.SCAN_EMPLOYEE_QR_CODE="SCAN_EMPLOYEE_QR_CODE"}(S||(S={}));const d=[{label:"O2O客户",value:S.OTO_TOURIST_SOURCE},{label:"集团O2O",value:S.GROUP_OTO},{label:"天猫商城",value:S.TMALL},{label:"腾讯平台",value:S.TENCENT_PLATFORM},{label:"大众点评",value:S.DA_ZHONG_DIAN_PING},{label:"百度平台",value:S.STORE_SALES},{label:"官方报名",value:S.OFFICIAL_REGISTRATION},{label:"城市O2O",value:S.CITY_OTO},{label:"社群营销号获客",value:S.COMMUNITY_MARKETING_ACCOUNTS},{label:"商家自媒体报名",value:S.MERCHANT_WE_MEDIA_REGISTRATION},{label:"私域O2O",value:S.PRIVATE_DOMAIN},{label:"客户推荐",value:S.CUSTOMER_RECOMMENDATION},{label:"在途客户推荐",value:S.ON_GOING_CUSTOMER_REFERRAL},{label:"老客户推荐",value:S.OLD_CUSTOMER_REFERRAL},{label:"种子客户推荐",value:S.RECOMMENDED_BY_SEED_CUSTOMER},{label:"商场客流",value:S.MALL_TRAFFIC_FLOW},{label:"自然客流",value:S.NATURAL_TRAFFIC},{label:"活动客流",value:S.EVENT_TRAFFIC},{label:"广告导流",value:S.ADVERTISING_TRAFFIC},{label:"社群客户",value:S.SOCIAL_COMMUNITY_CUSTOMER},{label:"自建小区社群",value:S.SELF_BUILT_COMMUNITY},{label:"自建活动社群",value:S.SELF_BUILT_EVENT_COMMUNITY},{label:"商场营销社群",value:S.MALL_MARKETING_COMMUNITY},{label:"同业联盟推荐",value:S.ALLIANCE_COOPERATION},{label:"家装设计师合作",value:S.INTERIOR_DESIGNER_COLLABORATION},{label:"家装公司合作",value:S.HOME_IMPROVEMENT_COMPANY_COLLABORATION},{label:"主材商家合作",value:S.MAIN_MATERIAL_MERCHANT_COLLABORATION},{label:"主材销售合作",value:S.MAIN_MATERIAL_SALES_COLLABORATION},{label:"异业联盟推荐",value:S.NON_INDUSTRY_ALLIANCE},{label:"开发商合作",value:S.DEVELOPER_COLLABORATION},{label:"物业合作",value:S.PROPERTY_COLLABORATION},{label:"商场合作",value:S.MALL_COLLABORATION},{label:"银行合作",value:S.BANK_COOPERATION},{label:"员工推荐",value:S.EMPLOYEE_REFERRAL},{label:"在职员工推荐",value:S.BE_ON_THE_JOB_EMPLOYEE_REFERRAL},{label:"早期员工推荐",value:S.EARLY_EMPLOYEE_REFERRAL},{label:"其他来源",value:S.OTHER_SOURCE},{label:"扫描员工码",value:S.SCAN_EMPLOYEE_QR_CODE}];var D;!function(e){e.INFORMATION_IN_TRANSIT="INFORMATION_IN_TRANSIT",e.CUSTOMER_SOURCE_IN_TRANSIT="CUSTOMER_SOURCE_IN_TRANSIT",e.LINK_IN_TRANSIT="LINK_IN_TRANSIT",e.MEETING_IN_TRANSIT="MEETING_IN_TRANSIT",e.INTENTION_IN_TRANSIT="INTENTION_IN_TRANSIT",e.ORDER_FORM_IN_TRANSIT="ORDER_FORM_IN_TRANSIT",e.ASSIGN_DESIGNER="ASSIGN_DESIGNER",e.MEASURE_IN_TRANSIT="MEASURE_IN_TRANSIT",e.SOLUTION_QUOTATION_IN_TRANSIT="SOLUTION_QUOTATION_IN_TRANSIT",e.CONTRACT_IN_TRANSIT="CONTRACT_IN_TRANSIT",e.COMPOUND_RULER_IN_TRANSIT="COMPOUND_RULER_IN_TRANSIT",e.PURCHASE_IN_TRANSIT="PURCHASE_IN_TRANSIT",e.PRODUCTION_IN_TRANSIT="PRODUCTION_IN_TRANSIT",e.LOGISTICS_IN_TRANSIT="LOGISTICS_IN_TRANSIT",e.STORAGE_IN_TRANSIT="STORAGE_IN_TRANSIT",e.INSTALL_IN_TRANSIT="INSTALL_IN_TRANSIT",e.DELIVER_IN_TRANSIT="DELIVER_IN_TRANSIT",e.OLD_CUSTOMER_IN_TRANSIT="OLD_CUSTOMER_IN_TRANSIT"}(D||(D={}));const c=[{label:"信息",value:D.INFORMATION_IN_TRANSIT},{label:"客源",value:D.CUSTOMER_SOURCE_IN_TRANSIT},{label:"链接",value:D.LINK_IN_TRANSIT},{label:"会见",value:D.MEETING_IN_TRANSIT},{label:"意向",value:D.INTENTION_IN_TRANSIT},{label:"订单",value:D.ORDER_FORM_IN_TRANSIT},{label:"派单",value:D.ASSIGN_DESIGNER},{label:"量房",value:D.MEASURE_IN_TRANSIT},{label:"报价",value:D.SOLUTION_QUOTATION_IN_TRANSIT},{label:"合同",value:D.CONTRACT_IN_TRANSIT},{label:"复尺",value:D.COMPOUND_RULER_IN_TRANSIT},{label:"采购",value:D.PURCHASE_IN_TRANSIT},{label:"生产",value:D.PRODUCTION_IN_TRANSIT},{label:"物流",value:D.LOGISTICS_IN_TRANSIT},{label:"仓储",value:D.STORAGE_IN_TRANSIT},{label:"安装",value:D.INSTALL_IN_TRANSIT},{label:"满意度交付",value:D.DELIVER_IN_TRANSIT},{label:"老客户",value:D.OLD_CUSTOMER_IN_TRANSIT}];var M;!function(e){e.UNGROUPED="UNGROUPED"}(M||(M={}));const p=[{label:"未分组",value:M.UNGROUPED}],U={[L.CUSTOMER_SOURCE]:d,[L.PROCESS_STAGE]:c,[L.CUSTOMER_LABEL]:p},B=[{label:"客户来源",value:L.CUSTOMER_SOURCE},{label:"进程阶段",value:L.PROCESS_STAGE},{label:"职业名称",value:L.POSITION},{label:"客户标签",value:L.CUSTOMER_LABEL},{label:"房屋居室",value:L.BEDROOM},{label:"交房选项",value:L.DELIVERY_TIME_OPTION},{label:"房屋户型",value:L.HOUSE_INFORMATION},{label:"房屋面积",value:L.HOUSE_SQUARE_METERS},{label:"业务范围分类",value:L.BUSINESS_SCOPE},{label:"业务工作",value:L.BUSINESS_WORK_PHASE}],P=[{name:"客户推荐",value:n.CUSTOMER_RECOMMENDATION},{name:"同业联盟推荐",value:n.DESIGN_ALLIANCE},{name:"异业联盟推荐",value:n.DIFFERENT_DESIGN_ALLIANCE},{name:"员工推荐",value:n.EMPLOYEE_RECOMMENDATION},{name:"微信群",value:n.WECHAT_GROUPS}],h=[{name:"系列",value:o.SERIES},{name:"款式",value:o.STYLE}],g=[{name:"厨房",value:t.KITCHEN},{name:"客厅",value:t.LIVING_ROOM},{name:"餐厅",value:t.RESTAURANT},{name:"主卧",value:t.MASTER_BEDROOM},{name:"次卧",value:t.SECOND_BEDROOM},{name:"衣帽间",value:t.CLOAKROOM},{name:"青少年房",value:t.YOUNGSTER_ROOM},{name:"书房",value:t.STUDY},{name:"主卫",value:t.MASTER_BATHROOM},{name:"次卫",value:t.SECOND_BATHROOM},{name:"玄关",value:t.HALLWAY},{name:"阳台",value:t.BALCONY},{name:"储物间",value:t.STOREROOM},{name:"其他空间",value:t.OTHER_SPACE}],H=[{name:"已交房",value:N.DELIVERED_HOUSE},{name:"未交房",value:N.UNDEVELOPED_HOUSE},{name:"不确认交期",value:N.UNCERTAIN_DELIVERY}],v=[{name:"精装房",value:T.LUXURY_HOUSE},{name:"毛坯房",value:T.BARE_SHELL_HOUSE},{name:"二手房",value:T.SECOND_HAND_HOUSE},{name:"待定",value:T.UNDETERMINED}];var b;!function(e){e.QUOTATION_SOLUTION="QUOTATION_SOLUTION"}(b||(b={}));const F=[{name:"标配",value:O.stdConf},{name:"赠品",value:O.gift},{name:"礼品",value:O.present},{name:"套餐",value:O.package},{name:"正价",value:O.positive},{name:"特价",value:O.specialPrice},{name:"定价",value:O.fixPrice},{name:"退货",value:O.returnedPurchase},{name:"退款",value:O.refund},{name:"样品",value:O.sample},{name:"退库",value:O.returning_inventory},{name:"备库",value:O.backup_warehouse},{name:"秒杀品",value:O.sec_kill_product},{name:"活动产品",value:O.activity_product},{name:"库存产品",value:O.product_stock}],G={[b.QUOTATION_SOLUTION]:[O.stdConf,O.gift,O.present,O.positive,O.specialPrice,O.fixPrice,O.returning_inventory]};function y(e){const E=G[e]||[];return 0===E.length?F:F.filter((e=>E.includes(e.value)))}function f(e,E){return(G[E]||[]).includes(e)}const W=[{name:"个位四舍五入",value:_.SINGLE_ROUND},{name:'个位凑"8"',value:_.SINGLE_SET_EIGHT},{name:'个位凑"9"',value:_.SINGLE_SET_NINE},{name:"个位进十",value:_.SINGLE_SET_TEN},{name:'个位替换 "4"或"7" (加 "1")',value:_.SINGLE_PLUS_ONE},{name:'十位替换 "4"或"7" (加 "1")',value:_.TEN_PLUS_ONE},{name:'个位和十位替换 "4"或"7" (加 "1")',value:_.SINGLE_TEN_PLUS_ONE}],Y=[{name:"房产",value:R.ESTATE}],V={},w={},K=(e,E=0)=>{const a=e.measure,r=e.count,n=e.unitPrice,o=e.priceFlag?O[e.priceFlag]:void 0,A=Math.max(0,a||0),t=Math.max(0,r||0),N=Math.max(0,n||0);let T;switch(o){case O.gift:case O.present:case O.sample:T=0;break;case O.refund:case O.returnedPurchase:T=-1*A*t*N;break;case O.stdConf:case O.positive:case O.specialPrice:case O.fixPrice:case O.package:case O.activity_product:case O.sec_kill_product:case O.product_stock:case O.backup_warehouse:case O.returning_inventory:default:T=A*t*N}if(void 0!==E){const e=Math.max(0,Math.floor(E)),a=Math.pow(10,e);return Math.round(T*a)/a}return T},q=(e,E=0)=>{if(e.children&&e.children.length>0){let a=0;return e.children.forEach((e=>{a+=q(e,E)})),a}const a=e.priceFlag?O[e.priceFlag]:void 0;if(a===O.stdConf||a===O.gift)return 0;const r=K(e,E);let n=r*Math.max(0,e.productCoefficient||1)*(Math.max(0,e.itemDiscount||100)/100);if(r<0&&(n=-Math.abs(n)),void 0!==E){const e=Math.max(0,Math.floor(E)),a=Math.pow(10,e);return Math.round(n*a)/a}return n};function k(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const E=16*Math.random()|0;return("x"===e?E:3&E|8).toString(16)}))}function x(e=32){const E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";let a="";for(let r=0;r<e;r++){a+=E[Math.floor(64*Math.random())]}return a}function j(e){if(null==e||""===e)return"0";const E=parseFloat(e);return isNaN(E)?"0":new Intl.NumberFormat("en-US").format(E)}const Q={wholeHouse:{name:"全屋",order:0},drawing:{name:"客厅",order:1},dining:{name:"餐厅",order:2},masterBedroom:{name:"卧室",order:3},cloakRoom:{name:"衣帽间",order:4},teenagerBedroom:{name:"青少年房",order:5},studyBedroom:{name:"书房",order:6},entrance:{name:"玄关",order:7},balcony:{name:"阳台",icon:"garden",order:8},storageRoom:{name:"储物间",order:9},otherStorageRoom:{name:"其他空间",order:10},publicAreas:{name:"公共区域",order:11},kitchen:{name:"厨房",order:12},mainBathroom:{name:"卫生间",order:13}};function X(){return Object.values(Q).sort(((e,E)=>e.order-E.order))}function Z(e){return Q[e]||null}const $={FLOOR_CABINET:{name:"地柜",order:1},WALL_CABINET:{name:"吊柜",order:2},CYLINDER_CABINET:{name:"筒柜",order:3},HALF_HEIGHT_CABINET:{name:"半高柜",order:4},SLIDE_DOOR_CABINET:{name:"移门柜",order:5},STORAGE_CABINET:{name:"收纳柜",order:6},DISPLAY_CABINET:{name:"展示柜",order:7},TV_CABINET:{name:"电视柜",order:17},WINE_CABINET:{name:"酒柜",order:18},SIDE_CABINET:{name:"边柜",order:30},CONSOLE_CABINET:{name:"玄关柜",order:31},MESA:{name:"台面",order:32},HALL_CABINET:{name:"厅柜",order:35},BOOKCASE:{name:"书柜",order:36},WARDROBE:{name:"衣柜",order:37},BAR_COUNTER:{name:"吧台",order:39},WATER_BASIN_CABINET:{name:"水盆柜",order:61},CABINET_STYLE_WARDROBE:{name:"柜式衣柜",order:69},WALL_MOUNTED_WARDROBE:{name:"挂墙衣柜",order:70},COLUMN_WARDROBE:{name:"立柱衣柜",order:71},BED_CABINET:{name:"床柜",order:73},ELEVATED_CABINET:{name:"加高柜",order:74},WINE_GRILLE_HOLDER:{name:"酒杯架",order:78},OPEN_LATTICE:{name:"开放格",order:109},BEDSIDE:{name:"床头柜",order:111},DRAWER_CABINET:{name:"抽屉柜",order:112},DECORATIVE_CABINET:{name:"装饰柜",order:113},CYLINDER_CABINET_HIGH_LATTICE:{name:"筒柜加高格",order:117},BATHROOM_CABINET:{name:"浴室柜",order:128},MIRROR_CABINET:{name:"镜柜",order:136},SHOE_CABINET:{name:"鞋柜",order:162},TABLEWARE:{name:"餐边柜",order:216},BALCONY_CABINET:{name:"阳台柜",order:257},SHOE_HAT_CABINET:{name:"鞋帽柜",order:258},SPLIT_HALL_CABINET:{name:"分体式厅柜",order:350},DRAWER:{name:"抽屉",order:8},PULL_BASKET:{name:"拉篮",order:9},WATER_BASIN:{name:"水盆",order:33},FAUCET:{name:"龙头",order:38},SLIDE_DOOR_HARDWARE:{name:"移门五金",order:91},BRACE:{name:"支撑",order:119},DAMPER:{name:"阻尼器",order:121},SLIDE_RAIL:{name:"滑轨",order:81},SWITCH:{name:"开关",order:84},LIGHT_BELT:{name:"灯带",order:85},FLOODLIGHT:{name:"射灯",order:86},HANGER_ROD:{name:"挂衣杆",order:87},WATERPROOF_PARTS:{name:"防水件",order:88},HINGE:{name:"铰链",order:116},STOP:{name:"门碰",order:119},COUPLING_HEAD:{name:"连接头",order:149},COUPLE:{name:"三合一",order:151},REBOUND_DEVICE:{name:"反弹装置",order:159},DISC_EXTRACTOR:{name:"碟架",order:160},BOTTLE_OPENER:{name:"开瓶器",order:194},CAN_OPENER:{name:"开罐器",order:209},COOKER:{name:"锅架",order:211},OTHER_HARDWARE:{name:"其他五金",order:99},SMOKE_MACHINE:{name:"油烟机",order:256},GAS_STOVE:{name:"燃气灶",order:257},RADIANT_COOKER:{name:"辐热电灶",order:258},DISINFECTION_CABINET:{name:"消毒柜",order:259},ELECTRIC_OVEN:{name:"电烤箱",order:260},ELECTRIC_STEAMER:{name:"电蒸箱",order:261},DISHWASHER:{name:"洗碗机",order:262},MICROWAVE_OVEN:{name:"微波炉",order:263},SLAG_CRUSHER:{name:"渣粉碎机",order:264},WATER_PURIFIER:{name:"净水器",order:265},LAMPS_AND_LANTERNS:{name:"灯具",order:266},TRANSFORMER:{name:"变压器",order:267},AGITATOR:{name:"搅拌器",order:268},HEATER:{name:"热水器",order:269},WASHING_MACHINE:{name:"洗衣机",order:270},DRYER:{name:"烘干机",order:271},SMART_TRASH_CAN:{name:"智能垃圾桶",order:272},STERILIZER:{name:"消毒器",order:273},PURIFIER:{name:"净化器",order:274},INTELLIGENT_PLUG_IN:{name:"智能插座",order:275},PROXYELE:{name:"电源模块",order:276},ADDTIONAL:{name:"其他电器",order:277},DOOR_LEAF:{name:"门扇",order:131},DOOR_JAMB:{name:"门套",order:132},DOOR_LOCK:{name:"门锁",order:165},DOOR_HEADER:{name:"门楣",order:166},DOOR_STOPPER:{name:"门吸",order:168},PASS:{name:"垭口",order:169},WALLBOARD:{name:"墙板",order:167},SOFA:{name:"沙发",order:278},TEA_TABLE:{name:"沙发",order:278},CORNER_TABLE:{name:"沙发",order:278},TABLE:{name:"沙发",order:278},BED:{name:"沙发",order:278},DESK:{name:"沙发",order:278},CHAIR:{name:"沙发",order:278},LOUNGE_CHAIR:{name:"沙发",order:278}};function J(e){return $[e]||null}function z(){return Object.entries($).map((([e,E])=>({code:e,name:E.name})))}const ee={CABINET_TYPE:{name:"定制柜",order:0,mainCategory:[],productCategories:["HALL_CABINET","CONSOLE_CABINET","WINE_CABINET","SHOE_CABINET","WALL_CABINET","FLOOR_CABINET","STORAGE_CABINET","TV_CABINET","WARDROBE","BOOKCASE","MIRROR_CABINET","BATHROOM_CABINET","CYLINDER_CABINET","SIDE_CABINET","HALF_HEIGHT_CABINET","SLIDE_DOOR_CABINET","DISPLAY_CABINET","WATER_BASIN_CABINET","COLUMN_WARDROBE","BED_CABINET","ELEVATED_CABINET","DECORATIVE_CABINET","DRAWER_CABINET","BEDSIDE","TABLEWARE","SPLIT_HALL_CABINET","BALCONY_CABINET","SHOE_HAT_CABINET"]},MESA:{name:"台面",order:1,mainCategory:["MESA"],productCategories:[]},INNER_DOOR:{name:"内门",order:2,mainCategory:["INNER_DOOR"],productCategories:["DOOR_LEAF","DOOR_JAMB"]},PASS:{name:"垭口",order:3,mainCategory:["PASS"],productCategories:[]},WALLBOARD:{name:"墙板",order:4,mainCategory:["WALLBOARD"],productCategories:["WALLBOARD"]},FUNCTIONAL_HARDWARE:{name:"功能五金",order:5,mainCategory:["FUNCTIONAL_HARDWARE","INNER_DOOR"],productCategories:["DRAWER","PULL_BASKET","WATER_BASIN","FAUCET","INTELLIGENCE_HARDWARE","OTHER_HARDWARE","HARDWARE_ACCESSORIES","SLIDE_DOOR_HARDWARE","COUPLING_HEAD","BRACE","HANDLES","DAMPER","SLIDE_RAIL","SWITCH","LIGHT_BELT","FLOODLIGHT","HANGER_ROD","WATERPROOF_PARTS","HINGE","STOP","COUPLE","REBOUND_DEVICE","DISC_EXTRACTOR","BOTTLE_OPENER","CAN_OPENER","COOKER","DOOR_STOPPER","DOOR_LOCK","DOOR_HEADER"]},APPLIANCE:{name:"配套电器",order:6,mainCategory:["INTELLIGENCE_ELECTRICAL"],productCategories:["SMOKE_MACHINE","GAS_STOVE","RADIANT_COOKER","DISINFECTION_CABINET","ELECTRIC_OVEN","ELECTRIC_STEAMER","DISHWASHER","MICROWAVE_OVEN","SLAG_CRUSHER","INTELLIGENCE_ELECTRICAL_APPARATUS","WATER_PURIFIER","LAMPS_AND_LANTERNS","TRANSFORMER","STOVE","AGITATOR","HEATER","WASHING_MACHINE","DRYER","SMART_TRASH_CAN","STERILIZER","PURIFIER","INTELLIGENT_PLUG_IN","ADDTIONAL","PROXYELE"]},SOFA:{name:"沙发",order:7,mainCategory:["SOFA"],productCategories:[]},TEA_TABLE:{name:"茶几",order:7,mainCategory:["TEA_TABLE"],productCategories:[]},CORNER_TABLE:{name:"角几",order:7,mainCategory:["CORNER_TABLE"],productCategories:[]},SIDE_CABINET:{name:"边柜",order:7,mainCategory:["SIDE_CABINET"],productCategories:[]},TABLE:{name:"餐桌",order:7,mainCategory:["TABLE"],productCategories:[]},BED:{name:"床",order:7,mainCategory:["BED"],productCategories:[]},BEDSIDE:{name:"床头柜",order:7,mainCategory:["BEDSIDE"],productCategories:[]},DESK:{name:"书桌",order:7,mainCategory:["DESK"],productCategories:[]},CHAIR:{name:"椅子",order:7,mainCategory:["CHAIR"],productCategories:[]},LOUNGE_CHAIR:{name:"休闲椅",order:7,mainCategory:["LOUNGE_CHAIR"],productCategories:[]},TV_CABINET:{name:"电视柜",order:7,mainCategory:["TV_CABINET"],productCategories:[]},CONSOLE_CABINET:{name:"玄关柜",order:7,mainCategory:["CONSOLE_CABINET"],productCategories:[]},DECORATIVE_CABINET:{name:"装饰柜",order:7,mainCategory:["DECORATIVE_CABINET"],productCategories:[]}},Ee={TOTAL_CUPBOARD:{...ee,CABINET_TYPE:{name:"定制柜",order:0,mainCategory:[],productCategories:["FLOOR_CABINET","MESA","WALL_CABINET","CYLINDER_CABINET","SLIDE_DOOR_CABINET","HALF_HEIGHT_CABINET","BAR_COUNTER"]}}},ae=ee;function re(e){const E=e&&Ee[e]?Ee[e]:ee;return Object.values(E).sort(((e,E)=>e.order-E.order))}function ne(e,E){return E&&Ee[E]&&Ee[E][e]?Ee[E][e]:ee[e]||null}function oe(e,E){const a=ne(e,E);return a&&a.productCategories?a.productCategories.map((e=>{const E=$[e];return{categoryName:E?E.name:e,categoryCode:e}})):[]}function Ae(e,E){if(!e)return null;const a=E&&Ee[E]?Ee[E]:ee;for(const[E,r]of Object.entries(a)){if(r.productCategories&&Array.isArray(r.productCategories)&&r.productCategories.some((E=>E.toUpperCase()===e.toUpperCase())))return E;if(r.mainCategory&&Array.isArray(r.mainCategory)&&r.mainCategory.some((E=>E.toUpperCase()===e.toUpperCase())))return E}return null}const te={CUSTOM_FURNITURE:{name:"定制家具",icon:"CUSTOM_FURNITURE",order:0,matchUnit:["平米"],roomGroups:[{room:Q.wholeHouse,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.drawing,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.dining,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.masterBedroom,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.cloakRoom,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.teenagerBedroom,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.studyBedroom,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.entrance,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.balcony,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.storageRoom,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.otherStorageRoom,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.publicAreas,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.kitchen,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]},{room:Q.mainBathroom,groups:[ee.CABINET_TYPE,ee.FUNCTIONAL_HARDWARE,ee.APPLIANCE]}]},ALL_SUBJECT:{name:"全品项",icon:"ALL_SUBJECT",order:1,roomGroups:[]},TOTAL_CUPBOARD:{name:"整体橱柜",icon:"TOTAL_CUPBOARD",order:1,matchUnit:["延米"],roomGroups:[{room:Q.kitchen,groups:[Ee.TOTAL_CUPBOARD.CABINET_TYPE,Ee.TOTAL_CUPBOARD.FUNCTIONAL_HARDWARE,Ee.TOTAL_CUPBOARD.APPLIANCE]}]},INNER_DOOR_WALLBOARD:{name:"内门墙板",icon:"INNER_DOOR_WALLBOARD",order:3,roomGroups:[{room:Q.wholeHouse,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.drawing,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.dining,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.masterBedroom,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.cloakRoom,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.teenagerBedroom,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.studyBedroom,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.entrance,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.balcony,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.storageRoom,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.otherStorageRoom,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.publicAreas,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.kitchen,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]},{room:Q.mainBathroom,groups:[ee.INNER_DOOR,ee.PASS,ee.WALLBOARD,ee.FUNCTIONAL_HARDWARE]}]},SOFT_FURNITURE:{name:"软成品",icon:"SOFT_FURNITURE",order:4,roomGroups:[{room:Q.wholeHouse,groups:[ee.SOFA,ee.TEA_TABLE,ee.CORNER_TABLE,ee.SIDE_CABINET,ee.TABLE,ee.BED,ee.BEDSIDE,ee.DESK,ee.CHAIR,ee.LOUNGE_CHAIR,ee.TV_CABINET,ee.CONSOLE_CABINET,ee.DECORATIVE_CABINET]},{room:Q.drawing,groups:[ee.SOFA,ee.TEA_TABLE,ee.CORNER_TABLE,ee.SIDE_CABINET,ee.TABLE,ee.BED,ee.BEDSIDE,ee.DESK,ee.CHAIR,ee.LOUNGE_CHAIR,ee.TV_CABINET,ee.CONSOLE_CABINET,ee.DECORATIVE_CABINET]},{room:Q.masterBedroom,groups:[ee.SOFA,ee.TEA_TABLE,ee.CORNER_TABLE,ee.SIDE_CABINET,ee.TABLE,ee.BED,ee.BEDSIDE,ee.DESK,ee.CHAIR,ee.LOUNGE_CHAIR,ee.TV_CABINET,ee.CONSOLE_CABINET,ee.DECORATIVE_CABINET]},{room:Q.teenagerBedroom,groups:[ee.SOFA,ee.TEA_TABLE,ee.CORNER_TABLE,ee.SIDE_CABINET,ee.TABLE,ee.BED,ee.BEDSIDE,ee.DESK,ee.CHAIR,ee.LOUNGE_CHAIR,ee.TV_CABINET,ee.CONSOLE_CABINET,ee.DECORATIVE_CABINET]},{room:Q.studyBedroom,groups:[ee.SOFA,ee.TEA_TABLE,ee.CORNER_TABLE,ee.SIDE_CABINET,ee.TABLE,ee.BED,ee.BEDSIDE,ee.DESK,ee.CHAIR,ee.LOUNGE_CHAIR,ee.TV_CABINET,ee.CONSOLE_CABINET,ee.DECORATIVE_CABINET]},{room:Q.dining,groups:[ee.SOFA,ee.TEA_TABLE,ee.CORNER_TABLE,ee.SIDE_CABINET,ee.TABLE,ee.BED,ee.BEDSIDE,ee.DESK,ee.CHAIR,ee.LOUNGE_CHAIR,ee.TV_CABINET,ee.CONSOLE_CABINET,ee.DECORATIVE_CABINET]}]},HOME_DECORATION_CONSTRUCTION:{name:"家装施工",icon:"HOME_DECORATION_CONSTRUCTION",order:5,roomGroups:[{room:Q.wholeHouse,groups:[]},{room:Q.drawing,groups:[]},{room:Q.dining,groups:[]},{room:Q.masterBedroom,groups:[]},{room:Q.cloakRoom,groups:[]},{room:Q.teenagerBedroom,groups:[]},{room:Q.studyBedroom,groups:[]},{room:Q.entrance,groups:[]},{room:Q.balcony,groups:[]},{room:Q.storageRoom,groups:[]},{room:Q.otherStorageRoom,groups:[]},{room:Q.publicAreas,groups:[]},{room:Q.kitchen,groups:[]},{room:Q.mainBathroom,groups:[]}]}};function Ne(e){const E=te[e];return E?E.roomGroups.map((E=>{const a=E.room,r=Object.keys(Q).find((e=>Q[e]===a)),n=E.groups.map((E=>{let a=Object.keys(ee).find((e=>ee[e]===E));!a&&Ee[e]&&(a=Object.keys(Ee[e]).find((a=>Ee[e][a]===E)));let r=[];if(E&&E.productCategories)r=E.productCategories.map((e=>{const E=$[e];return{categoryName:E?E.name:e,categoryCode:e}}));else if(a){r=(oe(a,e)||[]).map((e=>{const E=$[e.categoryCode];return{categoryName:E?E.name:e.categoryCode,categoryCode:e.categoryCode}}))}return{groupName:E.name,groupCode:a||"",productCategories:r}}));return{roomName:a.name,roomCode:r||"",groups:n}})):[]}function Te(e,E){const a=te[e];if(!a)return[];const r=a.roomGroups.find((e=>e.room===Q[E]));return r?r.groups.map((E=>{const a=Object.keys(ee).find((a=>ee[a]===E||!(!Ee[e]||Ee[e][a]!==E)));if(!a)return{groupName:E.name,groupCode:"",productCategories:[],classifyType:e};const r=(oe(a,e)||[]).map((e=>{const E=$[e.categoryCode];return{categoryName:E?E.name:e.categoryCode,categoryCode:e.categoryCode}}));return{groupName:E.name,groupCode:a,productCategories:r,classifyType:e}})):[]}function Oe(e){if(!e)return null;const E=te[e];return E?{code:e,name:E.name,icon:E.icon,order:E.order,matchUnit:E.matchUnit}:null}function _e(e=[]){const E=Object.keys(te).filter((E=>"ALL_SUBJECT"!==E&&!e.includes(E)));let a=[];E.forEach((e=>{const E=Ne(e);a=[...a,...E]}));const r={};return a.forEach((e=>{if(r[e.roomCode]){const E=r[e.roomCode].groups.map((e=>e.groupCode));e.groups.forEach((a=>{E.includes(a.groupCode)||(r[e.roomCode].groups.push(a),E.push(a.groupCode))}))}else r[e.roomCode]={...e,groups:[...e.groups]}})),Object.values(r)}const Re=class{static ProductUnitMeasureEnum={PC:{name:"PC",label:"件",enName:"Place",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},EA:{name:"EA",label:"个",enName:"Each",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},SET:{name:"SET",label:"套",enName:"Set",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},BAN:{name:"BAN",label:"把",enName:"Ban",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},SAG:{name:"SAG",label:"袋",enName:"Bag",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},VOL:{name:"VOL",label:"本",enName:"Volume",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},BOX:{name:"BOX",label:"箱",enName:"Boxful",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},PAIL:{name:"PAIL",label:"桶",enName:"Pail",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},CAN:{name:"CAN",label:"罐",enName:"Can",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},TAI:{name:"TAI",label:"台",enName:"Tai",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},CAR:{name:"CAR",label:"盒",enName:"Carton",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},PAK:{name:"PAK",label:"包",enName:"Package",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},STP:{name:"STP",label:"条",enName:"Strip",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},ZHI:{name:"ZHI",label:"只",enName:"Zhi",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},ZII:{name:"ZII",label:"支",enName:"Zii",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},SLC:{name:"SLC",label:"片",enName:"Slice",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},BLK:{name:"BLK",label:"块",enName:"Block",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},ZHG:{name:"ZHG",label:"张",enName:"Zhang",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},PAL:{name:"PAL",label:"货盘",enName:"Pallet",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},GEN:{name:"GEN",label:"根",enName:"Gen",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},FAN:{name:"FAN",label:"扇",enName:"Fan",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},REEL:{name:"REEL",label:"卷",enName:"Reel",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},PAIR:{name:"PAIR",label:"副",enName:"Pair",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},GROUP:{name:"GROUP",label:"组",enName:"Group",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},STEP:{name:"STEP",label:"步",enName:"Step",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},M:{name:"M",label:"米",enName:"Metre",dimension:1,scale:1e3,requiredDimensions:["width"],getCount:()=>({apply:e=>{const{width:E}=e;return E/1e3}})},LM:{name:"LM",label:"延米",enName:"LinearMeter",dimension:1,scale:1e3,requiredDimensions:["width"],getCount:()=>({apply:e=>{const{width:E}=e;return E/1e3}})},H2W1:{name:"H2W1",label:"门套延米",enName:"Tow",dimension:1,scale:1e3,requiredDimensions:["width","height"],getCount:()=>({apply:e=>{const{width:E,height:a}=e;return(2*a+E)/1e3}})},MM:{name:"MM",label:"毫米",enName:"MilliMetre",dimension:1,scale:10,requiredDimensions:["width"],getCount:()=>({apply:e=>{const{width:E}=e;return E}})},INC:{name:"INC",label:"英寸",enName:"Inch",dimension:1,scale:304,requiredDimensions:["width"],getCount:()=>({apply:e=>{const{width:E}=e;return E/25.4}})},M2:{name:"M2",label:"平米",enName:"SquareMetre",dimension:2,scale:1e6,requiredDimensions:["width","height"],getCount:()=>({apply:e=>{const{width:E,height:a}=e;return E*a/1e6}})},PM2:{name:"PM2",label:"投影平米",enName:"ProjectionSquareMetre",dimension:2,scale:1e6,requiredDimensions:["width","height"],getCount:()=>({apply:e=>{const{width:E,height:a}=e;return E*a/1e6}})},FM2:{name:"FM2",label:"立面平米",enName:"FacadeSquareMetre",dimension:2,scale:1e6,requiredDimensions:["width","height"],getCount:()=>({apply:e=>{const{width:E,height:a}=e;return E*a/1e6}})},M3:{name:"M3",label:"立方米",enName:"CubicMetre",dimension:3,scale:1e9,requiredDimensions:["width","height","depth"],getCount:()=>({apply:e=>{const{width:E,height:a,depth:r}=e;return E*a*r/1e9}})},L:{name:"L",label:"公升",enName:"Liter",dimension:3,scale:1e9,requiredDimensions:["width","height","depth"],getCount:()=>({apply:e=>{const{width:E,height:a,depth:r}=e;return E*a*r/1e6}})},ML:{name:"ML",label:"毫升",enName:"MilliLiter",dimension:3,scale:1e9,requiredDimensions:["width","height","depth"],getCount:()=>({apply:e=>{const{width:E,height:a,depth:r}=e;return E*a*r/1e3}})},KG:{name:"KG",label:"千克",enName:"Kilogram",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},TON:{name:"TON",label:"吨",enName:"Ton",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},WORKLOAD:{name:"WORKLOAD",label:"工作量",enName:"workload",dimension:0,scale:1,requiredDimensions:[],getCount:()=>({apply:e=>1})},getByName:function(e){if(!e)return null;for(const E in this)if(this[E]&&this[E].name===e)return this[E];return null}};static ProductAttrQuotaOperatorTypeEnum={NORMAL:"NORMAL",ADD_MULTIPLE:"ADD_MULTIPLE",MULTIPLE_ADD:"MULTIPLE_ADD"};static findItemUnitMeasure(e){const{width:E,height:a,depth:r}=this.calculateSizeByConfig(e);e.width=E,e.height=a,e.depth=r;const n=Object.keys(this.ProductUnitMeasureEnum).filter((e=>"object"==typeof this.ProductUnitMeasureEnum[e]&&"getByName"!==e)).find((E=>this.ProductUnitMeasureEnum[E]?.label===e.measureUnit));if(!n)return console.warn(`未找到计量单位 ${e.measureUnit} 的处理方法`),1;const o=this.ProductUnitMeasureEnum[n];try{if(!e.calculationMethod)return this.calculateByUnitDefinition(o,E,a,r,e.customLength);switch(e.calculationMethod){case"WIDTH_HEIGHT":return E*a/(o.scale||1e6);case"HEIGHT_DEPTH":return a*r/(o.scale||1e6);case"WIDTH_DEPTH":return E*r/(o.scale||1e6);case"PERIMETER":return 2*(E+r)/1e3;case"WIDTH":return E/(1===o.dimension?1e3:1);case"HEIGHT":return a/(1===o.dimension?1e3:1);case"DEPTH":return r/(1===o.dimension?1e3:1);case"CUSTOM_LENGTH":return(e.customLength||E)/1e3;default:return this.calculateByUnitDefinition(o,E,a,r,e.customLength)}}catch(e){return console.error("计算过程中出错:",e),1}}static calculateByUnitDefinition(e,E,a,r,n){return e.getCount().apply({width:E,height:a,depth:r,customLength:n})}static getMeasureUnitInfo(e){const E=Object.keys(this.ProductUnitMeasureEnum).find((E=>this.ProductUnitMeasureEnum[E]?.label===e));if(!E)return null;const a=this.ProductUnitMeasureEnum[E];let r=[];2===a.dimension?(r.push({key:"WIDTH_HEIGHT",label:"宽度×高度",description:`${a.label}宽×高计算方式`,requiredDimensions:["width","height"]}),r.push({key:"WIDTH_DEPTH",label:"宽度×深度",description:`${a.label}宽×深计算方式`,requiredDimensions:["width","depth"]}),r.push({key:"HEIGHT_DEPTH",label:"高度×深度",description:`${a.label}高×深计算方式`,requiredDimensions:["height","depth"]})):1===a.dimension&&(r.push({key:"WIDTH",label:"宽度",description:`${a.label}宽度计算方式`,requiredDimensions:["width"]}),r.push({key:"HEIGHT",label:"高度",description:`${a.label}高度计算方式`,requiredDimensions:["height"]}),r.push({key:"DEPTH",label:"深度",description:`${a.label}深度计算方式`,requiredDimensions:["depth"]}),r.push({key:"PERIMETER",label:"周长",description:`${a.label}周长计算方式`,requiredDimensions:["width","depth"]})),0===r.length&&r.push({key:"DEFAULT",label:"标准计算",description:`标准${a.label}计算方式`,requiredDimensions:a.requiredDimensions});let n="DEFAULT";return 2===a.dimension?n="WIDTH_HEIGHT":1===a.dimension&&(n="WIDTH"),{name:a.name,label:a.label,enName:a.enName,dimension:a.dimension,defaultMethod:n,methods:r,requiredDimensions:a.requiredDimensions}}static getAllMeasureUnits(){return Object.entries(this.ProductUnitMeasureEnum).filter((([e])=>"object"==typeof this.ProductUnitMeasureEnum[e]&&"getByName"!==e)).map((([e,E])=>{const a=this.getMeasureUnitInfo(E.label);return{name:E.name,label:E.label,enName:E.enName,dimension:E.dimension,defaultMethod:a?.defaultMethod||"DEFAULT",methods:a?.methods||[{key:"DEFAULT",label:"标准计算",description:`标准${E.label}计算方式`,requiredDimensions:E.requiredDimensions}],requiredDimensions:E.requiredDimensions}}))}static calculateSizeByConfig(e){const E={width:e.width||0,height:e.height||0,depth:e.depth||0},a=this.getQuotaMapByDto(e);return a.WIDTH&&(E.width=this.calculateValue(E.width,a.WIDTH)),a.HEIGHT&&(E.height=this.calculateValue(E.height,a.HEIGHT)),a.DEPTH&&(E.depth=this.calculateValue(E.depth,a.DEPTH)),E}static getQuotaMapByDto(e){return{WIDTH:{operatorType:"NORMAL",addValue:0,multipleValue:1},HEIGHT:{operatorType:"NORMAL",addValue:0,multipleValue:1},DEPTH:{operatorType:"NORMAL",addValue:0,multipleValue:1}}}static calculateValue(e,E){const{operatorType:a,addValue:r,multipleValue:n}=E;let o=e;const A=parseFloat(r||0),t=parseFloat(n||1);switch(a){case this.ProductAttrQuotaOperatorTypeEnum.ADD_MULTIPLE:o=(o+A)*t;break;case this.ProductAttrQuotaOperatorTypeEnum.MULTIPLE_ADD:o=o*t+A;case this.ProductAttrQuotaOperatorTypeEnum.NORMAL:}return o}};var Ie={calculateProductMeasure:function(e){try{!function(e){const{measureUnit:E,width:a,height:r,depth:n}=e,o=[];if(E?"string"!=typeof E&&o.push("计量单位必须是字符串"):o.push("缺少必要参数:计量单位"),[{name:"宽度",value:a},{name:"高度",value:r},{name:"深度",value:n}].forEach((e=>{null!==e.value&&void 0!==e.value&&""!==e.value&&isNaN(Number(e.value))&&!Array.isArray(e.value)&&o.push(`${e.name}必须是数字或数组`),Array.isArray(e.value)?e.value.some((e=>isNaN(Number(e))||Number(e)<0))&&o.push(`${e.name}数组中的值必须是大于等于0的数字`):null!==e.value&&void 0!==e.value&&""!==e.value&&Number(e.value)<0&&o.push(`${e.name}不能小于0`)})),o.length>0)throw new Error(o.join("; "))}(e);const E=Re.findItemUnitMeasure({measureUnit:e.measureUnit,width:e.width||0,height:e.height||0,depth:e.depth||0,calculationMethod:e.calculationMethod,customLength:e.customLength})||0,a=function(e,E=3){return Number(e.toFixed(E))}(E);return{measureUnit:e.measureUnit,originalSize:{width:e.width||0,height:e.height||0,depth:e.depth||0},calculatedSize:{width:e.width||0,height:e.height||0,depth:e.depth||0},calculationMethod:e.calculationMethod,result:E,formattedResult:a}}catch(e){throw e}},getMeasureUnitInfo:function(e){try{return Re.getMeasureUnitInfo(e)}catch(e){throw e}},getAllMeasureUnits:function(){try{return Re.getAllMeasureUnits()}catch(e){throw e}},ItemUnitMeasureCalculator:Re};const ie={wholeHouse:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],drawing:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],dining:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],masterBedroom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],cloakRoom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],teenagerBedroom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],studyBedroom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],entrance:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],balcony:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],storageRoom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],otherStorageRoom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],publicAreas:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],kitchen:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"],mainBathroom:["CABINET_TYPE","FUNCTIONAL_HARDWARE","APPLIANCE"]};function ue(e){return ie[e]||[]}function le(e){return ue(e).map((e=>{var E;return{groupId:e,groupName:(null===(E=ee[e])||void 0===E?void 0:E.name)||e}}))}function Ce(e,E){return ue(e).includes(E)}const se={CABINET_TYPE:["HALL_CABINET","CONSOLE_CABINET","WARDROBE","BOOKCASE"],FUNCTIONAL_HARDWARE:["DRAWER","PULL_BASKET","HINGE","SLIDE_RAIL"],APPLIANCE:["SMOKE_MACHINE","GAS_STOVE","MICROWAVE_OVEN","DISHWASHER"]};function me(e){return se[e]||[]}function Le(e){return me(e).map((e=>{const E=$[e];return{itemId:e,categoryName:E?E.name:e}}))}class Se{constructor(e){this.uuid="",this.productId="",this.unitPrice=0,this.productPriceId="",this.spuName="",this.unitLabel="",this.spuId="",this.brandId="",this.brandName="",this.classifyId="",this.classifyName="",this.model="",this.outlineDemension="",this.categoryCode="",this.categoryName="",this.parentCategoryCode="",this.parentCategoryName="",this.styleId="",this.styleName="",this.roomName="",this.roomCode="",this.schemeName="方案A",this.groupName="",this.groupCode="",this.width=null,this.height=null,this.depth=null,this.originWidth=null,this.originHeight=null,this.originDepth=null,this.skuAttributes=[],this.moveDirection="",this.location="",this.measureUnit="",this.measure=1,this.priceFlag="",this.standardPrice=0,this.actualPrice=0,this.count=1,this.remark="",this.productCoefficient=1,this.itemDiscount=100,this.picture=[],this.children=[],this.components=[],e&&Object.assign(this,e)}}var de=Ie.ItemUnitMeasureCalculator,De=Ie.calculateProductMeasure,ce=Ie.getAllMeasureUnits,Me=Ie.getMeasureUnitInfo;export{ee as BASE_GROUP_TYPES,Ee as CLASSIFY_GROUP_TYPES,te as CLASSIFY_ROOM_GROUP_MAP,a as CURRENCY_UNIT_ENUM,s as CURRENCY_UNIT_OPTIONS,M as CUSTOMER_LABEL_ENUM,S as CUSTOMER_SOURCE_ENUM,U as DICTIONARY_ATTRIBUTE_OPTIONS_MAP,p as DICTIONARY_CUSTOMER_LABEL_OPTIONS,d as DICTIONARY_CUSTOMER_SOURCE_OPTIONS,L as DICTIONARY_IDENTIFY_ENUM,B as DICTIONARY_IDENTIFY_OPTIONS,c as DICTIONARY_PROCESS_STAGE_OPTIONS,se as GROUP_ITEM_MAPPING,ae as GROUP_TYPES,de as ItemUnitMeasureCalculator,b as ListType,G as PRICE_FLAG_LIST_TYPE_MAP,D as PROCESS_STAGE_ENUM,$ as PRODUCT_CATEGORIES,Se as QuotationItem,n as RECOMMENDATION_TYPE_ENUM,ie as ROOM_GROUP_MAPPING,Q as ROOM_TYPES,V as __constantsPlaceholder,I as __enumsPlaceholder,w as __interfacesPlaceholder,R as assign_business_type,Y as assign_business_type_options,q as calcActualPrice,K as calcStandardPrice,De as calculateProductMeasure,E as design_type,u as design_type_options,j as formatNumberWithCommas,x as generateRandomId,k as generateUUID,_e as getAllClassifyRoomsAndGroups,ce as getAllMeasureUnits,z as getAllProductCategories,Oe as getClassifyBaseInfo,Ne as getClassifyRoomsAndGroups,le as getGroupObjectsByRoomId,ne as getGroupTypeByKey,Ae as getGroupTypeByProductCategory,Te as getGroupsByClassifyAndRoom,ue as getGroupsByRoomId,Le as getItemObjectsByGroupId,me as getItemsByGroupId,Me as getMeasureUnitInfo,y as getPriceFlagOptionsByListType,oe as getProductCategoriesByGroupType,J as getProductCategoryByKey,Z as getRoomTypeByKey,re as getSortedGroupTypes,X as getSortedRoomTypes,N as house_status,H as house_status_options,T as house_type,v as house_type_options,Ce as isGroupAvailableForRoom,f as isPriceFlagValidForListType,l as order_status,C as order_status_options,O as price_flag,F as price_flag_options,o as pro_series_type_enum,h as pro_series_type_options,P as recommendation_type_options,_ as rounding_rule,W as rounding_rule_options,A as sales_end_app_tag,e as solution_status,i as solution_status_options,t as spatial_category,g as spatial_category_options,r as supply_mode,m as supply_mode_options};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/enums/solution-status.enum.ts","../src/enums/design-type.enum.ts","../src/enums/currency-unit.enum.ts","../src/enums/supply-mode.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/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/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/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-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/index.ts","../src/interfaces/index.ts","../src/utils/solution.util.ts","../src/utils/common.util.ts","../src/modules/solution/roomTypes.ts","../src/modules/solution/productCategories.ts","../src/modules/solution/groupTypes.ts","../src/modules/solution/classifyRoomGroupMap.ts","../src/modules/solution/mappings/room-group-mapping.ts","../src/modules/solution/mappings/group-item-mapping.ts","../src/modules/solution/models/QuotationItem.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],"names":["solution_status","design_type","CURRENCY_UNIT_ENUM","supply_mode","RECOMMENDATION_TYPE_ENUM","pro_series_type_enum","sales_end_app_tag","spatial_category","house_status","house_type","price_flag","rounding_rule","__enumsPlaceholder","solution_status_options","name","value","DRAFT","ACTIVE","LOCKED","REVOKED","PRE_SIGNED","SIGNED","SIGNED_REVOKED","design_type_options","BUDGET","MODEL_ROOM_EX","COMMUNITY_EX","ORDER","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","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","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_IN_TRANSIT","CUSTOMER_SOURCE_IN_TRANSIT","LINK_IN_TRANSIT","MEETING_IN_TRANSIT","INTENTION_IN_TRANSIT","ORDER_FORM_IN_TRANSIT","ASSIGN_DESIGNER","MEASURE_IN_TRANSIT","SOLUTION_QUOTATION_IN_TRANSIT","CONTRACT_IN_TRANSIT","COMPOUND_RULER_IN_TRANSIT","PURCHASE_IN_TRANSIT","PRODUCTION_IN_TRANSIT","LOGISTICS_IN_TRANSIT","STORAGE_IN_TRANSIT","INSTALL_IN_TRANSIT","DELIVER_IN_TRANSIT","OLD_CUSTOMER_IN_TRANSIT","CUSTOMER_LABEL_ENUM","DICTIONARY_CUSTOMER_LABEL_OPTIONS","UNGROUPED","DICTIONARY_ATTRIBUTE_OPTIONS_MAP","CUSTOMER_SOURCE","PROCESS_STAGE","CUSTOMER_LABEL","DICTIONARY_IDENTIFY_OPTIONS","POSITION","BEDROOM","DELIVERY_TIME_OPTION","HOUSE_INFORMATION","HOUSE_SQUARE_METERS","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","__constantsPlaceholder","__interfacesPlaceholder","calcStandardPrice","item","decimalPlaces","measure","count","unitPrice","priceFlag","undefined","safeMeasure","Math","max","safeCount","safePrice","result","places","floor","factor","pow","round","calcActualPrice","children","totalChildrenPrice","forEach","childItem","priceFlagEnum","standardAmount","productCoefficient","itemDiscount","abs","generateUUID","replace","c","r","random","toString","generateRandomId","chars","i","formatNumberWithCommas","number","parseFloat","isNaN","Intl","NumberFormat","format","ROOM_TYPES","wholeHouse","order","drawing","dining","masterBedroom","cloakRoom","teenagerBedroom","studyBedroom","entrance","balcony","icon","storageRoom","otherStorageRoom","publicAreas","kitchen","mainBathroom","getSortedRoomTypes","Object","values","sort","a","b","getRoomTypeByKey","roomTypeKey","PRODUCT_CATEGORIES","FLOOR_CABINET","WALL_CABINET","CYLINDER_CABINET","HALF_HEIGHT_CABINET","SLIDE_DOOR_CABINET","STORAGE_CABINET","DISPLAY_CABINET","TV_CABINET","WINE_CABINET","SIDE_CABINET","CONSOLE_CABINET","MESA","HALL_CABINET","BOOKCASE","WARDROBE","BAR_COUNTER","WATER_BASIN_CABINET","CABINET_STYLE_WARDROBE","WALL_MOUNTED_WARDROBE","COLUMN_WARDROBE","BED_CABINET","ELEVATED_CABINET","WINE_GRILLE_HOLDER","OPEN_LATTICE","BEDSIDE","DRAWER_CABINET","DECORATIVE_CABINET","CYLINDER_CABINET_HIGH_LATTICE","BATHROOM_CABINET","MIRROR_CABINET","SHOE_CABINET","TABLEWARE","BALCONY_CABINET","SHOE_HAT_CABINET","SPLIT_HALL_CABINET","DRAWER","PULL_BASKET","WATER_BASIN","FAUCET","SLIDE_DOOR_HARDWARE","BRACE","DAMPER","SLIDE_RAIL","SWITCH","LIGHT_BELT","FLOODLIGHT","HANGER_ROD","WATERPROOF_PARTS","HINGE","STOP","COUPLING_HEAD","COUPLE","REBOUND_DEVICE","DISC_EXTRACTOR","BOTTLE_OPENER","CAN_OPENER","COOKER","OTHER_HARDWARE","SMOKE_MACHINE","GAS_STOVE","RADIANT_COOKER","DISINFECTION_CABINET","ELECTRIC_OVEN","ELECTRIC_STEAMER","DISHWASHER","MICROWAVE_OVEN","SLAG_CRUSHER","WATER_PURIFIER","LAMPS_AND_LANTERNS","TRANSFORMER","AGITATOR","HEATER","WASHING_MACHINE","DRYER","SMART_TRASH_CAN","STERILIZER","PURIFIER","INTELLIGENT_PLUG_IN","PROXYELE","ADDTIONAL","DOOR_LEAF","DOOR_JAMB","DOOR_LOCK","DOOR_HEADER","DOOR_STOPPER","PASS","WALLBOARD","SOFA","TEA_TABLE","CORNER_TABLE","TABLE","BED","DESK","CHAIR","LOUNGE_CHAIR","getProductCategoryByKey","categoryKey","getAllProductCategories","entries","map","code","category","BASE_GROUP_TYPES","CABINET_TYPE","mainCategory","productCategories","INNER_DOOR","FUNCTIONAL_HARDWARE","APPLIANCE","CLASSIFY_GROUP_TYPES","TOTAL_CUPBOARD","GROUP_TYPES","getSortedGroupTypes","classifyType","groupTypesMap","getGroupTypeByKey","groupTypeKey","getProductCategoriesByGroupType","groupType","categoryName","categoryCode","getGroupTypeByProductCategory","productCategory","Array","isArray","some","toUpperCase","CLASSIFY_ROOM_GROUP_MAP","CUSTOM_FURNITURE","matchUnit","roomGroups","room","groups","ALL_SUBJECT","INNER_DOOR_WALLBOARD","SOFT_FURNITURE","HOME_DECORATION_CONSTRUCTION","getClassifyRoomsAndGroups","classifyMap","roomGroup","roomInfo","roomCode","keys","find","key","groupsData","group","groupCode","productCategoriesData","groupName","roomName","getGroupsByClassifyAndRoom","roomType","rg","getClassifyBaseInfo","classifyCode","classifyInfo","getAllClassifyRoomsAndGroups","excludeClassifyCodes","classifyCodes","allRooms","rooms","roomMap","existingGroupCodes","g","push","ROOM_GROUP_MAPPING","getGroupsByRoomId","roomId","getGroupObjectsByRoomId","groupId","_a","isGroupAvailableForRoom","GROUP_ITEM_MAPPING","getItemsByGroupId","getItemObjectsByGroupId","itemId","QuotationItem","constructor","config","this","uuid","productId","productPriceId","spuName","unitLabel","spuId","brandId","brandName","classifyId","classifyName","model","outlineDemension","parentCategoryCode","parentCategoryName","styleId","styleName","schemeName","width","height","depth","originWidth","originHeight","originDepth","skuAttributes","moveDirection","location","measureUnit","standardPrice","actualPrice","remark","picture","components","assign"],"mappings":"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AAOjG,EAAmBiG,IAAgB,IAC5C,UAMgBC,IACd,OAAOzG,OAAO0G,QAAQnG,GAAoBoG,KAAI,EAAEC,EAAMC,MAAe,CACnED,OACA1V,KAAM2V,EAAS3V,QAEnB,CC5ea,MAAA4V,EAA8C,CAE1DC,aAAc,CACb7V,KAAM,MACN8N,MAAO,EACPgI,aAAc,GACdC,kBAAmB,CAClB,eACA,kBACA,eACA,eACA,eACA,gBACA,kBACA,aACA,WACA,WACA,iBACA,mBACA,mBACA,eACA,sBACA,qBACA,kBACA,sBACA,kBACA,cACA,mBACA,qBACA,iBACA,UACA,YACA,qBACA,kBACA,qBAIF9F,KAAM,CACLjQ,KAAM,KACN8N,MAAO,EACPgI,aAAc,CAAC,QACfC,kBAAmB,IAGpBC,WAAY,CACXhW,KAAM,KACN8N,MAAO,EACPgI,aAAc,CAAC,cACfC,kBAAmB,CAClB,YACA,cAIFpB,KAAM,CACL3U,KAAM,KACN8N,MAAO,EACPgI,aAAc,CAAC,QACfC,kBAAmB,IAGpBnB,UAAW,CACV5U,KAAM,KACN8N,MAAO,EACPgI,aAAc,CAAC,aACfC,kBAAmB,CAAC,cAGrBE,oBAAqB,CACpBjW,KAAM,OACN8N,MAAO,EACPgI,aAAc,CAAC,sBAAuB,cACtCC,kBAAmB,CAClB,SACA,cACA,cACA,SACA,wBACA,iBACA,uBACA,sBACA,gBACA,QACA,UACA,SACA,aACA,SACA,aACA,aACA,aACA,mBACA,QACA,OACA,SACA,iBACA,iBACA,gBACA,aACA,SACA,eACA,YACA,gBAIFG,UAAW,CACVlW,KAAM,OACN8N,MAAO,EACPgI,aAAc,CAAC,2BACfC,kBAAmB,CAClB,gBACA,YACA,iBACA,uBACA,gBACA,mBACA,aACA,iBACA,eACA,oCACA,iBACA,qBACA,cACA,QACA,WACA,SACA,kBACA,QACA,kBACA,aACA,WACA,sBACA,YACA,aAKFlB,KAAM,CACL7U,KAAM,KACN8N,MAAO,EACPgI,aAAc,CAAC,QACfC,kBAAmB,IAGpBjB,UAAW,CACV9U,KAAM,KACN8N,MAAO,EACPgI,aAAc,CAAC,aACfC,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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/enums/solution-status.enum.ts","../src/enums/design-type.enum.ts","../src/enums/currency-unit.enum.ts","../src/enums/supply-mode.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/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/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/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-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/index.ts","../src/interfaces/index.ts","../src/utils/solution.util.ts","../src/utils/common.util.ts","../src/modules/solution/roomTypes.ts","../src/modules/solution/productCategories.ts","../src/modules/solution/groupTypes.ts","../src/modules/solution/classifyRoomGroupMap.ts","../src/modules/solution/measure/index.js","../src/modules/solution/measure/utils/MeasureCalculator.js","../src/modules/solution/mappings/room-group-mapping.ts","../src/modules/solution/mappings/group-item-mapping.ts","../src/modules/solution/models/QuotationItem.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,"/**\r\n * 产品计量计算工具方法\r\n * 功能:根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\n\r\nconst ItemUnitMeasureCalculator = require('./utils/MeasureCalculator')\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 {number} number - 要格式化的数字\r\n * @param {number} decimalPlaces - 小数位数,默认为3\r\n * @returns {number} 格式化后的数字\r\n */\r\nfunction formatNumber(number, decimalPlaces = 3) {\r\n return Number(number.toFixed(decimalPlaces));\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 validateParams(params);\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 = calculationResult || 0;\r\n const formattedResult = formatNumber(result);\r\n\r\n // 4. 返回计算结果对象\r\n return {\r\n measureUnit: params.measureUnit,\r\n originalSize: {\r\n width: params.width || 0,\r\n height: params.height || 0,\r\n depth: params.depth || 0\r\n },\r\n calculatedSize: {\r\n width: params.width || 0,\r\n height: params.height || 0,\r\n depth: params.depth || 0\r\n },\r\n calculationMethod: params.calculationMethod,\r\n result,\r\n formattedResult\r\n };\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 * @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\nmodule.exports = {\r\n calculateProductMeasure,\r\n getMeasureUnitInfo,\r\n getAllMeasureUnits,\r\n ItemUnitMeasureCalculator\r\n}; ","/**\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 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 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 SET: {\r\n name: 'SET',\r\n label: '套',\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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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\nmodule.exports = ItemUnitMeasureCalculator; ",null,null,null],"names":["solution_status","design_type","CURRENCY_UNIT_ENUM","supply_mode","RECOMMENDATION_TYPE_ENUM","pro_series_type_enum","sales_end_app_tag","spatial_category","house_status","house_type","price_flag","rounding_rule","assign_business_type","__enumsPlaceholder","solution_status_options","name","value","DRAFT","ACTIVE","LOCKED","REVOKED","PRE_SIGNED","SIGNED","SIGNED_REVOKED","design_type_options","BUDGET","MODEL_ROOM_EX","COMMUNITY_EX","ORDER","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","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","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_IN_TRANSIT","CUSTOMER_SOURCE_IN_TRANSIT","LINK_IN_TRANSIT","MEETING_IN_TRANSIT","INTENTION_IN_TRANSIT","ORDER_FORM_IN_TRANSIT","ASSIGN_DESIGNER","MEASURE_IN_TRANSIT","SOLUTION_QUOTATION_IN_TRANSIT","CONTRACT_IN_TRANSIT","COMPOUND_RULER_IN_TRANSIT","PURCHASE_IN_TRANSIT","PRODUCTION_IN_TRANSIT","LOGISTICS_IN_TRANSIT","STORAGE_IN_TRANSIT","INSTALL_IN_TRANSIT","DELIVER_IN_TRANSIT","OLD_CUSTOMER_IN_TRANSIT","CUSTOMER_LABEL_ENUM","DICTIONARY_CUSTOMER_LABEL_OPTIONS","UNGROUPED","DICTIONARY_ATTRIBUTE_OPTIONS_MAP","CUSTOMER_SOURCE","PROCESS_STAGE","CUSTOMER_LABEL","DICTIONARY_IDENTIFY_OPTIONS","POSITION","BEDROOM","DELIVERY_TIME_OPTION","HOUSE_INFORMATION","HOUSE_SQUARE_METERS","BUSINESS_SCOPE","BUSINESS_WORK_PHASE","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","__constantsPlaceholder","__interfacesPlaceholder","calcStandardPrice","item","decimalPlaces","measure","count","unitPrice","priceFlag","undefined","safeMeasure","Math","max","safeCount","safePrice","result","places","floor","factor","pow","round","calcActualPrice","children","totalChildrenPrice","forEach","childItem","priceFlagEnum","standardAmount","productCoefficient","itemDiscount","abs","generateUUID","replace","c","r","random","toString","generateRandomId","chars","i","formatNumberWithCommas","number","parseFloat","isNaN","Intl","NumberFormat","format","ROOM_TYPES","wholeHouse","order","drawing","dining","masterBedroom","cloakRoom","teenagerBedroom","studyBedroom","entrance","balcony","icon","storageRoom","otherStorageRoom","publicAreas","kitchen","mainBathroom","getSortedRoomTypes","Object","values","sort","a","b","getRoomTypeByKey","roomTypeKey","PRODUCT_CATEGORIES","FLOOR_CABINET","WALL_CABINET","CYLINDER_CABINET","HALF_HEIGHT_CABINET","SLIDE_DOOR_CABINET","STORAGE_CABINET","DISPLAY_CABINET","TV_CABINET","WINE_CABINET","SIDE_CABINET","CONSOLE_CABINET","MESA","HALL_CABINET","BOOKCASE","WARDROBE","BAR_COUNTER","WATER_BASIN_CABINET","CABINET_STYLE_WARDROBE","WALL_MOUNTED_WARDROBE","COLUMN_WARDROBE","BED_CABINET","ELEVATED_CABINET","WINE_GRILLE_HOLDER","OPEN_LATTICE","BEDSIDE","DRAWER_CABINET","DECORATIVE_CABINET","CYLINDER_CABINET_HIGH_LATTICE","BATHROOM_CABINET","MIRROR_CABINET","SHOE_CABINET","TABLEWARE","BALCONY_CABINET","SHOE_HAT_CABINET","SPLIT_HALL_CABINET","DRAWER","PULL_BASKET","WATER_BASIN","FAUCET","SLIDE_DOOR_HARDWARE","BRACE","DAMPER","SLIDE_RAIL","SWITCH","LIGHT_BELT","FLOODLIGHT","HANGER_ROD","WATERPROOF_PARTS","HINGE","STOP","COUPLING_HEAD","COUPLE","REBOUND_DEVICE","DISC_EXTRACTOR","BOTTLE_OPENER","CAN_OPENER","COOKER","OTHER_HARDWARE","SMOKE_MACHINE","GAS_STOVE","RADIANT_COOKER","DISINFECTION_CABINET","ELECTRIC_OVEN","ELECTRIC_STEAMER","DISHWASHER","MICROWAVE_OVEN","SLAG_CRUSHER","WATER_PURIFIER","LAMPS_AND_LANTERNS","TRANSFORMER","AGITATOR","HEATER","WASHING_MACHINE","DRYER","SMART_TRASH_CAN","STERILIZER","PURIFIER","INTELLIGENT_PLUG_IN","PROXYELE","ADDTIONAL","DOOR_LEAF","DOOR_JAMB","DOOR_LOCK","DOOR_HEADER","DOOR_STOPPER","PASS","WALLBOARD","SOFA","TEA_TABLE","CORNER_TABLE","TABLE","BED","DESK","CHAIR","LOUNGE_CHAIR","getProductCategoryByKey","categoryKey","getAllProductCategories","entries","map","code","category","BASE_GROUP_TYPES","CABINET_TYPE","mainCategory","productCategories","INNER_DOOR","FUNCTIONAL_HARDWARE","APPLIANCE","CLASSIFY_GROUP_TYPES","TOTAL_CUPBOARD","GROUP_TYPES","getSortedGroupTypes","classifyType","groupTypesMap","getGroupTypeByKey","groupTypeKey","getProductCategoriesByGroupType","groupType","categoryName","categoryCode","getGroupTypeByProductCategory","productCategory","Array","isArray","some","toUpperCase","CLASSIFY_ROOM_GROUP_MAP","CUSTOM_FURNITURE","matchUnit","roomGroups","room","groups","ALL_SUBJECT","INNER_DOOR_WALLBOARD","SOFT_FURNITURE","HOME_DECORATION_CONSTRUCTION","getClassifyRoomsAndGroups","classifyMap","roomGroup","roomInfo","roomCode","keys","find","key","groupsData","group","groupCode","productCategoriesData","groupName","roomName","getGroupsByClassifyAndRoom","roomType","rg","getClassifyBaseInfo","classifyCode","classifyInfo","getAllClassifyRoomsAndGroups","excludeClassifyCodes","classifyCodes","allRooms","rooms","roomMap","existingGroupCodes","g","push","ItemUnitMeasureCalculator","static","PC","enName","dimension","scale","requiredDimensions","getCount","apply","countParam","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","width","LM","H2W1","height","MM","INC","M2","PM2","FM2","M3","depth","L","ML","KG","TON","WORKLOAD","getByName","this","NORMAL","ADD_MULTIPLE","MULTIPLE_ADD","findItemUnitMeasure","dto","calculateSizeByConfig","unitCode","ProductUnitMeasureEnum","unit","measureUnit","console","warn","calculationMethod","calculateByUnitDefinition","customLength","error","getMeasureUnitInfo","methods","description","defaultMethod","getAllMeasureUnits","unitInfo","size","quotaMap","getQuotaMapByDto","WIDTH","calculateValue","HEIGHT","DEPTH","operatorType","addValue","multipleValue","quota","numAddValue","numMultipleValue","ProductAttrQuotaOperatorTypeEnum","calculateProductMeasure","params","errors","dim","Number","v","Error","join","validateParams","formattedResult","toFixed","formatNumber","originalSize","calculatedSize","ROOM_GROUP_MAPPING","getGroupsByRoomId","roomId","getGroupObjectsByRoomId","groupId","_a","isGroupAvailableForRoom","GROUP_ITEM_MAPPING","getItemsByGroupId","getItemObjectsByGroupId","itemId","QuotationItem","constructor","config","uuid","productId","productPriceId","spuName","unitLabel","spuId","brandId","brandName","classifyId","classifyName","model","outlineDemension","parentCategoryCode","parentCategoryName","styleId","styleName","schemeName","originWidth","originHeight","originDepth","skuAttributes","moveDirection","location","standardPrice","actualPrice","remark","picture","components","assign"],"mappings":"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TiH,aAAc,CACZnV,KAAM,KACNkO,MAAO,KAETkH,MAAO,CACLpV,KAAM,KACNkO,MAAO,KAETmH,IAAK,CACHrV,KAAM,KACNkO,MAAO,KAEToH,KAAM,CACJtV,KAAM,KACNkO,MAAO,KAETqH,MAAO,CACLvV,KAAM,KACNkO,MAAO,KAETsH,aAAc,CACZxV,KAAM,KACNkO,MAAO,MASL,SAAUuH,EAAwBC,GACtC,OAAOjG,EAAmBiG,IAAgB,IAC5C,UAMgBC,IACd,OAAOzG,OAAO0G,QAAQnG,GAAoBoG,KAAI,EAAEC,EAAMC,MAAe,CACnED,OACA9V,KAAM+V,EAAS/V,QAEnB,CC5ea,MAAAgW,GAA8C,CAE1DC,aAAc,CACbjW,KAAM,MACNkO,MAAO,EACPgI,aAAc,GACdC,kBAAmB,CAClB,eACA,kBACA,eACA,eACA,eACA,gBACA,kBACA,aACA,WACA,WACA,iBACA,mBACA,mBACA,eACA,sBACA,qBACA,kBACA,sBACA,kBACA,cACA,mBACA,qBACA,iBACA,UACA,YACA,qBACA,kBACA,qBAIF9F,KAAM,CACLrQ,KAAM,KACNkO,MAAO,EACPgI,aAAc,CAAC,QACfC,kBAAmB,IAGpBC,WAAY,CACXpW,KAAM,KACNkO,MAAO,EACPgI,aAAc,CAAC,cACfC,kBAAmB,CAClB,YACA,cAIFpB,KAAM,CACL/U,KAAM,KACNkO,MAAO,EACPgI,aAAc,CAAC,QACfC,kBAAmB,IAGpBnB,UAAW,CACVhV,KAAM,KACNkO,MAAO,EACPgI,aAAc,CAAC,aACfC,kBAAmB,CAAC,cAGrBE,oBAAqB,CACpBrW,KAAM,OACNkO,MAAO,EACPgI,aAAc,CAAC,sBAAuB,cACtCC,kBAAmB,CAClB,SACA,cACA,cACA,SACA,wBACA,iBACA,uBACA,sBACA,gBACA,QACA,UACA,SACA,aACA,SACA,aACA,aACA,aACA,mBACA,QACA,OACA,SACA,iBACA,iBACA,gBACA,aACA,SACA,eACA,YACA,gBAIFG,UAAW,CACVtW,KAAM,OACNkO,MAAO,EACPgI,aAAc,CAAC,2BACfC,kBAAmB,CAClB,gBACA,YACA,iBA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"}
|