bmc-common-resource 1.1.34 → 1.1.35

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/index.d.ts CHANGED
@@ -75,6 +75,7 @@ export { DictionaryOptionValue } from './interfaces/dictionary.interface';
75
75
  export { generateUUID } from './utils/common.util';
76
76
  export { generateRandomId } from './utils/common.util';
77
77
  export { formatNumberWithCommas } from './utils/common.util';
78
+ export { findOptionByValue } from './utils/common.util';
78
79
  export { calcStandardPrice } from './utils/solution.util';
79
80
  export { calcActualPrice } from './utils/solution.util';
80
81
  export { ROOM_TYPES, getSortedRoomTypes, getRoomTypeByKey } from './modules/solution/roomTypes';
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- var e,E,a,r,n,o,A,t,N,T,O,_,I;!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"}(I||(I={}));const R={},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}],g=[{name:"系列",value:o.SERIES},{name:"款式",value:o.STYLE}],h=[{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 W(e,E){return(G[E]||[]).includes(e)}const f=[{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:I.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 Ie=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 Re={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=Ie.findItemUnitMeasure({measureUnit:e.measureUnit,width:e.width||0,height:e.height||0,depth:e.depth||0,calculationMethod:e.calculationMethod,customLength:e.customLength});return E||0}catch(e){throw e}},getMeasureUnitInfo:function(e){try{return Ie.getMeasureUnitInfo(e)}catch(e){throw e}},getAllMeasureUnits:function(){try{return Ie.getAllMeasureUnits()}catch(e){throw e}},ItemUnitMeasureCalculator:Ie};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=Re.ItemUnitMeasureCalculator,De=Re.calculateProductMeasure,ce=Re.getAllMeasureUnits,Me=Re.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,R as __enumsPlaceholder,w as __interfacesPlaceholder,I 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,W 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,g as pro_series_type_options,P as recommendation_type_options,_ as rounding_rule,f as rounding_rule_options,A as sales_end_app_tag,e as solution_status,i as solution_status_options,t as spatial_category,h as spatial_category_options,r as supply_mode,m as supply_mode_options};
1
+ var e,E,r,a,n,o,t,A,N,T,i,O,_;!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"}(r||(r={})),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"}(a||(a={})),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"}(t||(t={})),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"}(A||(A={})),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"}(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"}(O||(O={})),function(e){e.ESTATE="ESTATE"}(_||(_={}));const R={},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 s;!function(e){e.NULLIFIED="NULLIFIED",e.LOCKED="LOCKED",e.OPEN="OPEN"}(s||(s={}));const l=[{name:"作废",value:s.NULLIFIED},{name:"锁定",value:s.LOCKED},{name:"开放",value:s.OPEN}],C=[{name:"人民币",value:r.CNY},{name:"美元",value:r.USD},{name:"欧元",value:r.EUR},{name:"英镑",value:r.GBP},{name:"港币",value:r.HKD}],m=[{name:"自制生产",value:a.own_production},{name:"品牌代理",value:a.brand_agency},{name:"批发采购",value:a.wholesale_procur},{name:"跨境采购",value:a.cross_border_pro},{name:"OEM代工",value:a.oem_contract}];var L,d;!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"}(d||(d={}));const S=[{label:"O2O客户",value:d.OTO_TOURIST_SOURCE},{label:"集团O2O",value:d.GROUP_OTO},{label:"天猫商城",value:d.TMALL},{label:"腾讯平台",value:d.TENCENT_PLATFORM},{label:"大众点评",value:d.DA_ZHONG_DIAN_PING},{label:"百度平台",value:d.STORE_SALES},{label:"官方报名",value:d.OFFICIAL_REGISTRATION},{label:"城市O2O",value:d.CITY_OTO},{label:"社群营销号获客",value:d.COMMUNITY_MARKETING_ACCOUNTS},{label:"商家自媒体报名",value:d.MERCHANT_WE_MEDIA_REGISTRATION},{label:"私域O2O",value:d.PRIVATE_DOMAIN},{label:"客户推荐",value:d.CUSTOMER_RECOMMENDATION},{label:"在途客户推荐",value:d.ON_GOING_CUSTOMER_REFERRAL},{label:"老客户推荐",value:d.OLD_CUSTOMER_REFERRAL},{label:"种子客户推荐",value:d.RECOMMENDED_BY_SEED_CUSTOMER},{label:"商场客流",value:d.MALL_TRAFFIC_FLOW},{label:"自然客流",value:d.NATURAL_TRAFFIC},{label:"活动客流",value:d.EVENT_TRAFFIC},{label:"广告导流",value:d.ADVERTISING_TRAFFIC},{label:"社群客户",value:d.SOCIAL_COMMUNITY_CUSTOMER},{label:"自建小区社群",value:d.SELF_BUILT_COMMUNITY},{label:"自建活动社群",value:d.SELF_BUILT_EVENT_COMMUNITY},{label:"商场营销社群",value:d.MALL_MARKETING_COMMUNITY},{label:"同业联盟推荐",value:d.ALLIANCE_COOPERATION},{label:"家装设计师合作",value:d.INTERIOR_DESIGNER_COLLABORATION},{label:"家装公司合作",value:d.HOME_IMPROVEMENT_COMPANY_COLLABORATION},{label:"主材商家合作",value:d.MAIN_MATERIAL_MERCHANT_COLLABORATION},{label:"主材销售合作",value:d.MAIN_MATERIAL_SALES_COLLABORATION},{label:"异业联盟推荐",value:d.NON_INDUSTRY_ALLIANCE},{label:"开发商合作",value:d.DEVELOPER_COLLABORATION},{label:"物业合作",value:d.PROPERTY_COLLABORATION},{label:"商场合作",value:d.MALL_COLLABORATION},{label:"银行合作",value:d.BANK_COOPERATION},{label:"员工推荐",value:d.EMPLOYEE_REFERRAL},{label:"在职员工推荐",value:d.BE_ON_THE_JOB_EMPLOYEE_REFERRAL},{label:"早期员工推荐",value:d.EARLY_EMPLOYEE_REFERRAL},{label:"其他来源",value:d.OTHER_SOURCE},{label:"扫描员工码",value:d.SCAN_EMPLOYEE_QR_CODE}];var c;!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"}(c||(c={}));const D=[{label:"信息",value:c.INFORMATION_IN_TRANSIT},{label:"客源",value:c.CUSTOMER_SOURCE_IN_TRANSIT},{label:"链接",value:c.LINK_IN_TRANSIT},{label:"会见",value:c.MEETING_IN_TRANSIT},{label:"意向",value:c.INTENTION_IN_TRANSIT},{label:"订单",value:c.ORDER_FORM_IN_TRANSIT},{label:"派单",value:c.ASSIGN_DESIGNER},{label:"量房",value:c.MEASURE_IN_TRANSIT},{label:"报价",value:c.SOLUTION_QUOTATION_IN_TRANSIT},{label:"合同",value:c.CONTRACT_IN_TRANSIT},{label:"复尺",value:c.COMPOUND_RULER_IN_TRANSIT},{label:"采购",value:c.PURCHASE_IN_TRANSIT},{label:"生产",value:c.PRODUCTION_IN_TRANSIT},{label:"物流",value:c.LOGISTICS_IN_TRANSIT},{label:"仓储",value:c.STORAGE_IN_TRANSIT},{label:"安装",value:c.INSTALL_IN_TRANSIT},{label:"满意度交付",value:c.DELIVER_IN_TRANSIT},{label:"老客户",value:c.OLD_CUSTOMER_IN_TRANSIT}];var M;!function(e){e.UNGROUPED="UNGROUPED"}(M||(M={}));const p=[{label:"未分组",value:M.UNGROUPED}],U={[L.CUSTOMER_SOURCE]:S,[L.PROCESS_STAGE]:D,[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:A.KITCHEN},{name:"客厅",value:A.LIVING_ROOM},{name:"餐厅",value:A.RESTAURANT},{name:"主卧",value:A.MASTER_BEDROOM},{name:"次卧",value:A.SECOND_BEDROOM},{name:"衣帽间",value:A.CLOAKROOM},{name:"青少年房",value:A.YOUNGSTER_ROOM},{name:"书房",value:A.STUDY},{name:"主卫",value:A.MASTER_BATHROOM},{name:"次卫",value:A.SECOND_BATHROOM},{name:"玄关",value:A.HALLWAY},{name:"阳台",value:A.BALCONY},{name:"储物间",value:A.STOREROOM},{name:"其他空间",value:A.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 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}],F={[b.QUOTATION_SOLUTION]:[i.stdConf,i.gift,i.present,i.positive,i.specialPrice,i.fixPrice,i.returning_inventory]};function y(e){const E=F[e]||[];return 0===E.length?G:G.filter((e=>E.includes(e.value)))}function f(e,E){return(F[E]||[]).includes(e)}const W=[{name:"个位四舍五入",value:O.SINGLE_ROUND},{name:'个位凑"8"',value:O.SINGLE_SET_EIGHT},{name:'个位凑"9"',value:O.SINGLE_SET_NINE},{name:"个位进十",value:O.SINGLE_SET_TEN},{name:'个位替换 "4"或"7" (加 "1")',value:O.SINGLE_PLUS_ONE},{name:'十位替换 "4"或"7" (加 "1")',value:O.TEN_PLUS_ONE},{name:'个位和十位替换 "4"或"7" (加 "1")',value:O.SINGLE_TEN_PLUS_ONE}],Y=[{name:"房产",value:_.ESTATE}],V={},w={},K=(e,E=0)=>{const r=e.measure,a=e.count,n=e.unitPrice,o=e.priceFlag?i[e.priceFlag]:void 0,t=Math.max(0,r||0),A=Math.max(0,a||0),N=Math.max(0,n||0);let T;switch(o){case i.gift:case i.present:case i.sample:T=0;break;case i.refund:case i.returnedPurchase:T=-1*t*A*N;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:T=t*A*N}if(void 0!==E){const e=Math.max(0,Math.floor(E)),r=Math.pow(10,e);return Math.round(T*r)/r}return T},q=(e,E=0)=>{if(e.children&&e.children.length>0){let r=0;return e.children.forEach((e=>{r+=q(e,E)})),r}const r=e.priceFlag?i[e.priceFlag]:void 0;if(r===i.stdConf||r===i.gift)return 0;const a=K(e,E);let n=a*Math.max(0,e.productCoefficient||1)*(Math.max(0,e.itemDiscount||100)/100);if(a<0&&(n=-Math.abs(n)),void 0!==E){const e=Math.max(0,Math.floor(E)),r=Math.pow(10,e);return Math.round(n*r)/r}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 r="";for(let a=0;a<e;a++){r+=E[Math.floor(64*Math.random())]}return r}function j(e){if(null==e||""===e)return"0";const E=parseFloat(e);return isNaN(E)?"0":new Intl.NumberFormat("en-US").format(E)}function Q(e,E,r="value",a=!1){if(!Array.isArray(E))return;let n=!1,o="value";return"boolean"==typeof a?(n=a,o=r):"string"==typeof a&&(o=a,n="boolean"==typeof r&&r),E.find((E=>!(!E||"object"!=typeof E)&&(o in E&&(n?E[o]===e:E[o]==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 Z(){return Object.values(X).sort(((e,E)=>e.order-E.order))}function $(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 ee(){return Object.entries(J).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:[]}},re={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 ne(e){const E=e&&re[e]?re[e]:Ee;return Object.values(E).sort(((e,E)=>e.order-E.order))}function oe(e,E){return E&&re[E]&&re[E][e]?re[E][e]:Ee[e]||null}function te(e,E){const r=oe(e,E);return r&&r.productCategories?r.productCategories.map((e=>{const E=J[e];return{categoryName:E?E.name:e,categoryCode:e}})):[]}function Ae(e,E){if(!e)return null;const r=E&&re[E]?re[E]:Ee;for(const[E,a]of Object.entries(r)){if(a.productCategories&&Array.isArray(a.productCategories)&&a.productCategories.some((E=>E.toUpperCase()===e.toUpperCase())))return E;if(a.mainCategory&&Array.isArray(a.mainCategory)&&a.mainCategory.some((E=>E.toUpperCase()===e.toUpperCase())))return E}return null}const Ne={CUSTOM_FURNITURE:{name:"定制家具",icon:"CUSTOM_FURNITURE",order:0,matchUnit:["平米"],roomGroups:[{room:X.wholeHouse,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.drawing,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.dining,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.masterBedroom,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.cloakRoom,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.teenagerBedroom,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.studyBedroom,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.entrance,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.balcony,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.storageRoom,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.otherStorageRoom,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.publicAreas,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.kitchen,groups:[Ee.CABINET_TYPE,Ee.FUNCTIONAL_HARDWARE,Ee.APPLIANCE]},{room:X.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:X.kitchen,groups:[re.TOTAL_CUPBOARD.CABINET_TYPE,re.TOTAL_CUPBOARD.FUNCTIONAL_HARDWARE,re.TOTAL_CUPBOARD.APPLIANCE]}]},INNER_DOOR_WALLBOARD:{name:"内门墙板",icon:"INNER_DOOR_WALLBOARD",order:3,roomGroups:[{room:X.wholeHouse,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.drawing,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.dining,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.masterBedroom,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.cloakRoom,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.teenagerBedroom,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.studyBedroom,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.entrance,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.balcony,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.storageRoom,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.otherStorageRoom,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.publicAreas,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.kitchen,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]},{room:X.mainBathroom,groups:[Ee.INNER_DOOR,Ee.PASS,Ee.WALLBOARD,Ee.FUNCTIONAL_HARDWARE]}]},SOFT_FURNITURE:{name:"软成品",icon:"SOFT_FURNITURE",order:4,roomGroups:[{room:X.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:X.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:X.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:X.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:X.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:X.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: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 Te(e){const E=Ne[e];return E?E.roomGroups.map((E=>{const r=E.room,a=Object.keys(X).find((e=>X[e]===r)),n=E.groups.map((E=>{let r=Object.keys(Ee).find((e=>Ee[e]===E));!r&&re[e]&&(r=Object.keys(re[e]).find((r=>re[e][r]===E)));let a=[];if(E&&E.productCategories)a=E.productCategories.map((e=>{const E=J[e];return{categoryName:E?E.name:e,categoryCode:e}}));else if(r){a=(te(r,e)||[]).map((e=>{const E=J[e.categoryCode];return{categoryName:E?E.name:e.categoryCode,categoryCode:e.categoryCode}}))}return{groupName:E.name,groupCode:r||"",productCategories:a}}));return{roomName:r.name,roomCode:a||"",groups:n}})):[]}function ie(e,E){const r=Ne[e];if(!r)return[];const a=r.roomGroups.find((e=>e.room===X[E]));return a?a.groups.map((E=>{const r=Object.keys(Ee).find((r=>Ee[r]===E||!(!re[e]||re[e][r]!==E)));if(!r)return{groupName:E.name,groupCode:"",productCategories:[],classifyType:e};const a=(te(r,e)||[]).map((e=>{const E=J[e.categoryCode];return{categoryName:E?E.name:e.categoryCode,categoryCode:e.categoryCode}}));return{groupName:E.name,groupCode:r,productCategories:a,classifyType:e}})):[]}function Oe(e){if(!e)return null;const E=Ne[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(Ne).filter((E=>"ALL_SUBJECT"!==E&&!e.includes(E)));let r=[];E.forEach((e=>{const E=Te(e);r=[...r,...E]}));const a={};return r.forEach((e=>{if(a[e.roomCode]){const E=a[e.roomCode].groups.map((e=>e.groupCode));e.groups.forEach((r=>{E.includes(r.groupCode)||(a[e.roomCode].groups.push(r),E.push(r.groupCode))}))}else a[e.roomCode]={...e,groups:[...e.groups]}})),Object.values(a)}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:r}=e;return(2*r+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:r}=e;return E*r/1e6}})},PM2:{name:"PM2",label:"投影平米",enName:"ProjectionSquareMetre",dimension:2,scale:1e6,requiredDimensions:["width","height"],getCount:()=>({apply:e=>{const{width:E,height:r}=e;return E*r/1e6}})},FM2:{name:"FM2",label:"立面平米",enName:"FacadeSquareMetre",dimension:2,scale:1e6,requiredDimensions:["width","height"],getCount:()=>({apply:e=>{const{width:E,height:r}=e;return E*r/1e6}})},M3:{name:"M3",label:"立方米",enName:"CubicMetre",dimension:3,scale:1e9,requiredDimensions:["width","height","depth"],getCount:()=>({apply:e=>{const{width:E,height:r,depth:a}=e;return E*r*a/1e9}})},L:{name:"L",label:"公升",enName:"Liter",dimension:3,scale:1e9,requiredDimensions:["width","height","depth"],getCount:()=>({apply:e=>{const{width:E,height:r,depth:a}=e;return E*r*a/1e6}})},ML:{name:"ML",label:"毫升",enName:"MilliLiter",dimension:3,scale:1e9,requiredDimensions:["width","height","depth"],getCount:()=>({apply:e=>{const{width:E,height:r,depth:a}=e;return E*r*a/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:r,depth:a}=this.calculateSizeByConfig(e);e.width=E,e.height=r,e.depth=a;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,r,a,e.customLength);switch(e.calculationMethod){case"WIDTH_HEIGHT":return E*r/(o.scale||1e6);case"HEIGHT_DEPTH":return r*a/(o.scale||1e6);case"WIDTH_DEPTH":return E*a/(o.scale||1e6);case"PERIMETER":return 2*(E+a)/1e3;case"WIDTH":return E/(1===o.dimension?1e3:1);case"HEIGHT":return r/(1===o.dimension?1e3:1);case"DEPTH":return a/(1===o.dimension?1e3:1);case"CUSTOM_LENGTH":return(e.customLength||E)/1e3;default:return this.calculateByUnitDefinition(o,E,r,a,e.customLength)}}catch(e){return console.error("计算过程中出错:",e),1}}static calculateByUnitDefinition(e,E,r,a,n){return e.getCount().apply({width:E,height:r,depth:a,customLength:n})}static getMeasureUnitInfo(e){const E=Object.keys(this.ProductUnitMeasureEnum).find((E=>this.ProductUnitMeasureEnum[E]?.label===e));if(!E)return null;const r=this.ProductUnitMeasureEnum[E];let a=[];2===r.dimension?(a.push({key:"WIDTH_HEIGHT",label:"宽度×高度",description:`${r.label}宽×高计算方式`,requiredDimensions:["width","height"]}),a.push({key:"WIDTH_DEPTH",label:"宽度×深度",description:`${r.label}宽×深计算方式`,requiredDimensions:["width","depth"]}),a.push({key:"HEIGHT_DEPTH",label:"高度×深度",description:`${r.label}高×深计算方式`,requiredDimensions:["height","depth"]})):1===r.dimension&&(a.push({key:"WIDTH",label:"宽度",description:`${r.label}宽度计算方式`,requiredDimensions:["width"]}),a.push({key:"HEIGHT",label:"高度",description:`${r.label}高度计算方式`,requiredDimensions:["height"]}),a.push({key:"DEPTH",label:"深度",description:`${r.label}深度计算方式`,requiredDimensions:["depth"]}),a.push({key:"PERIMETER",label:"周长",description:`${r.label}周长计算方式`,requiredDimensions:["width","depth"]})),0===a.length&&a.push({key:"DEFAULT",label:"标准计算",description:`标准${r.label}计算方式`,requiredDimensions:r.requiredDimensions});let n="DEFAULT";return 2===r.dimension?n="WIDTH_HEIGHT":1===r.dimension&&(n="WIDTH"),{name:r.name,label:r.label,enName:r.enName,dimension:r.dimension,defaultMethod:n,methods:a,requiredDimensions:r.requiredDimensions}}static getAllMeasureUnits(){return Object.entries(this.ProductUnitMeasureEnum).filter((([e])=>"object"==typeof this.ProductUnitMeasureEnum[e]&&"getByName"!==e)).map((([e,E])=>{const r=this.getMeasureUnitInfo(E.label);return{name:E.name,label:E.label,enName:E.enName,dimension:E.dimension,defaultMethod:r?.defaultMethod||"DEFAULT",methods:r?.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},r=this.getQuotaMapByDto(e);return r.WIDTH&&(E.width=this.calculateValue(E.width,r.WIDTH)),r.HEIGHT&&(E.height=this.calculateValue(E.height,r.HEIGHT)),r.DEPTH&&(E.depth=this.calculateValue(E.depth,r.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:r,addValue:a,multipleValue:n}=E;let o=e;const t=parseFloat(a||0),A=parseFloat(n||1);switch(r){case this.ProductAttrQuotaOperatorTypeEnum.ADD_MULTIPLE:o=(o+t)*A;break;case this.ProductAttrQuotaOperatorTypeEnum.MULTIPLE_ADD:o=o*A+t;case this.ProductAttrQuotaOperatorTypeEnum.NORMAL:}return o}static isDimensionRequired(e,E,r){if(!e||!E)return!1;const a=E.toLowerCase();if(!["width","height","depth"].includes(a))return!1;const n=Object.keys(this.ProductUnitMeasureEnum).filter((e=>"object"==typeof this.ProductUnitMeasureEnum[e]&&"getByName"!==e)).find((E=>this.ProductUnitMeasureEnum[E]?.label===e));if(!n)return!1;const o=this.ProductUnitMeasureEnum[n];if(r)switch(r){case"WIDTH_HEIGHT":return"width"===a||"height"===a;case"WIDTH_DEPTH":case"PERIMETER":return"width"===a||"depth"===a;case"HEIGHT_DEPTH":return"height"===a||"depth"===a;case"WIDTH":case"CUSTOM_LENGTH":return"width"===a;case"HEIGHT":return"height"===a;case"DEPTH":return"depth"===a;default:return o.requiredDimensions.includes(a)}return o.requiredDimensions.includes(a)}static isDimensionRelated(e){if(!e)return!1;const E=Object.keys(this.ProductUnitMeasureEnum).filter((e=>"object"==typeof this.ProductUnitMeasureEnum[e]&&"getByName"!==e)).find((E=>this.ProductUnitMeasureEnum[E]?.label===e));if(!E)return!1;const r=this.ProductUnitMeasureEnum[E];return r.dimension>0||r.requiredDimensions.length>0}};var Ie={calculateProductMeasure:function(e){try{!function(e){const{measureUnit:E,width:r,height:a,depth:n}=e,o=[];if(E?"string"!=typeof E&&o.push("计量单位必须是字符串"):o.push("缺少必要参数:计量单位"),[{name:"宽度",value:r},{name:"高度",value:a},{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});return E||0}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}},isDimensionRequired:function(e,E,r){try{return Re.isDimensionRequired(e,E,r)}catch(e){throw e}},isDimensionRelated:function(e){try{return Re.isDimensionRelated(e)}catch(e){throw e}},ItemUnitMeasureCalculator:Re};const ue={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 se(e){return ue[e]||[]}function le(e){return se(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 se(e).includes(E)}const me={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 Le(e){return me[e]||[]}function de(e){return Le(e).map((e=>{const E=J[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 ce=Ie.ItemUnitMeasureCalculator,De=Ie.calculateProductMeasure,Me=Ie.getAllMeasureUnits,pe=Ie.getMeasureUnitInfo,Ue=Ie.isDimensionRelated,Be=Ie.isDimensionRequired;export{Ee as BASE_GROUP_TYPES,re as CLASSIFY_GROUP_TYPES,Ne as CLASSIFY_ROOM_GROUP_MAP,r as CURRENCY_UNIT_ENUM,C as CURRENCY_UNIT_OPTIONS,M as CUSTOMER_LABEL_ENUM,d as CUSTOMER_SOURCE_ENUM,U as DICTIONARY_ATTRIBUTE_OPTIONS_MAP,p as DICTIONARY_CUSTOMER_LABEL_OPTIONS,S as DICTIONARY_CUSTOMER_SOURCE_OPTIONS,L as DICTIONARY_IDENTIFY_ENUM,B as DICTIONARY_IDENTIFY_OPTIONS,D as DICTIONARY_PROCESS_STAGE_OPTIONS,me as GROUP_ITEM_MAPPING,ae as GROUP_TYPES,ce as ItemUnitMeasureCalculator,b as ListType,F as PRICE_FLAG_LIST_TYPE_MAP,c as PROCESS_STAGE_ENUM,J as PRODUCT_CATEGORIES,Se as QuotationItem,n as RECOMMENDATION_TYPE_ENUM,ue as ROOM_GROUP_MAPPING,X as ROOM_TYPES,V as __constantsPlaceholder,R as __enumsPlaceholder,w as __interfacesPlaceholder,_ 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,Q as findOptionByValue,j as formatNumberWithCommas,x as generateRandomId,k as generateUUID,_e as getAllClassifyRoomsAndGroups,Me as getAllMeasureUnits,ee as getAllProductCategories,Oe as getClassifyBaseInfo,Te as getClassifyRoomsAndGroups,le as getGroupObjectsByRoomId,oe as getGroupTypeByKey,Ae as getGroupTypeByProductCategory,ie as getGroupsByClassifyAndRoom,se as getGroupsByRoomId,de as getItemObjectsByGroupId,Le as getItemsByGroupId,pe as getMeasureUnitInfo,y as getPriceFlagOptionsByListType,te as getProductCategoriesByGroupType,z as getProductCategoryByKey,$ as getRoomTypeByKey,ne as getSortedGroupTypes,Z as getSortedRoomTypes,N as house_status,H as house_status_options,T as house_type,v as house_type_options,Ue as isDimensionRelated,Be as isDimensionRequired,Ce as isGroupAvailableForRoom,f as isPriceFlagValidForListType,s as order_status,l as order_status_options,i as price_flag,G as price_flag_options,o as pro_series_type_enum,h as pro_series_type_options,P as recommendation_type_options,O as rounding_rule,W as rounding_rule_options,t as sales_end_app_tag,e as solution_status,I as solution_status_options,A as spatial_category,g as spatial_category_options,a as supply_mode,m as supply_mode_options};
2
2
  //# sourceMappingURL=index.esm.js.map