bmc-common-resource 1.1.36 → 1.1.38

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.
@@ -9,5 +9,7 @@ export declare enum design_type {
9
9
  /** 小区专属方案 */
10
10
  COMMUNITY_EX = "COMMUNITY_EX",
11
11
  /** 订单方案 */
12
- ORDER = "ORDER"
12
+ ORDER = "ORDER",
13
+ /** 合同方案 */
14
+ CONTRACT = "CONTRACT"
13
15
  }
package/dist/index.d.ts CHANGED
@@ -81,6 +81,8 @@ export { DictionaryOptionValue } from './interfaces/dictionary.interface';
81
81
  export { generateUUID } from './utils/common.util';
82
82
  export { generateRandomId } from './utils/common.util';
83
83
  export { formatNumberWithCommas } from './utils/common.util';
84
+ export { findOptionByValue } from './utils/common.util';
85
+ export { getFileExtension } from './utils/common.util';
84
86
  export { calcStandardPrice } from './utils/solution.util';
85
87
  export { calcActualPrice } from './utils/solution.util';
86
88
  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,N,t,T,O,_,I,R,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"}(N||(N={})),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"}(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={})),function(e){e.SELF_OPERATED_PRODUCT="SELF_OPERATED_PRODUCT",e.AGENCY_PURCHASE_SALES="AGENCY_PURCHASE_SALES",e.INTERIOR_DESIGN="INTERIOR_DESIGN",e.ENGINEERING_CONSTRUCTION="ENGINEERING_CONSTRUCTION"}(R||(R={})),function(e){e.MARKETING="MARKETING",e.SALES="SALES",e.DESIGN="DESIGN",e.INSTALLATION="INSTALLATION",e.AFTER_SALES="AFTER_SALES"}(i||(i={}));const l={},u=[{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}],C=[{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 m=[{name:"作废",value:s.NULLIFIED},{name:"锁定",value:s.LOCKED},{name:"开放",value:s.OPEN}],L=[{name:"人民币",value:a.CNY},{name:"美元",value:a.USD},{name:"欧元",value:a.EUR},{name:"英镑",value:a.GBP},{name:"港币",value:a.HKD}],S=[{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 d,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"}(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"}(D||(D={}));const c=[{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 M;!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"}(M||(M={}));const U=[{label:"信息",value:M.INFORMATION_IN_TRANSIT},{label:"客源",value:M.CUSTOMER_SOURCE_IN_TRANSIT},{label:"链接",value:M.LINK_IN_TRANSIT},{label:"会见",value:M.MEETING_IN_TRANSIT},{label:"意向",value:M.INTENTION_IN_TRANSIT},{label:"订单",value:M.ORDER_FORM_IN_TRANSIT},{label:"派单",value:M.ASSIGN_DESIGNER},{label:"量房",value:M.MEASURE_IN_TRANSIT},{label:"报价",value:M.SOLUTION_QUOTATION_IN_TRANSIT},{label:"合同",value:M.CONTRACT_IN_TRANSIT},{label:"复尺",value:M.COMPOUND_RULER_IN_TRANSIT},{label:"采购",value:M.PURCHASE_IN_TRANSIT},{label:"生产",value:M.PRODUCTION_IN_TRANSIT},{label:"物流",value:M.LOGISTICS_IN_TRANSIT},{label:"仓储",value:M.STORAGE_IN_TRANSIT},{label:"安装",value:M.INSTALL_IN_TRANSIT},{label:"满意度交付",value:M.DELIVER_IN_TRANSIT},{label:"老客户",value:M.OLD_CUSTOMER_IN_TRANSIT}];var p;!function(e){e.UNGROUPED="UNGROUPED"}(p||(p={}));const B=[{label:"未分组",value:p.UNGROUPED}],P=[{label:"自营产品",value:R.SELF_OPERATED_PRODUCT},{label:"代购代销",value:R.AGENCY_PURCHASE_SALES},{label:"室内设计",value:R.INTERIOR_DESIGN},{label:"工程施工",value:R.ENGINEERING_CONSTRUCTION}],g=[{label:"营销",value:i.MARKETING},{label:"销售",value:i.SALES},{label:"设计",value:i.DESIGN},{label:"安装",value:i.INSTALLATION},{label:"售后",value:i.AFTER_SALES}],h={[d.CUSTOMER_SOURCE]:c,[d.PROCESS_STAGE]:U,[d.CUSTOMER_LABEL]:B,[d.BUSINESS_SCOPE]:P,[d.BUSINESS_WORK_PHASE]:g},H=[{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},{label:"业务范围分类",value:d.BUSINESS_SCOPE},{label:"业务工作",value:d.BUSINESS_WORK_PHASE}],v=[{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}],b=[{name:"厨房",value:N.KITCHEN},{name:"客厅",value:N.LIVING_ROOM},{name:"餐厅",value:N.RESTAURANT},{name:"主卧",value:N.MASTER_BEDROOM},{name:"次卧",value:N.SECOND_BEDROOM},{name:"衣帽间",value:N.CLOAKROOM},{name:"青少年房",value:N.YOUNGSTER_ROOM},{name:"书房",value:N.STUDY},{name:"主卫",value:N.MASTER_BATHROOM},{name:"次卫",value:N.SECOND_BATHROOM},{name:"玄关",value:N.HALLWAY},{name:"阳台",value:N.BALCONY},{name:"储物间",value:N.STOREROOM},{name:"其他空间",value:N.OTHER_SPACE}],F=[{name:"已交房",value:t.DELIVERED_HOUSE},{name:"未交房",value:t.UNDEVELOPED_HOUSE},{name:"不确认交期",value:t.UNCERTAIN_DELIVERY}],y=[{name:"精装房",value:T.LUXURY_HOUSE},{name:"毛坯房",value:T.BARE_SHELL_HOUSE},{name:"二手房",value:T.SECOND_HAND_HOUSE},{name:"待定",value:T.UNDETERMINED}];var f;!function(e){e.QUOTATION_SOLUTION="QUOTATION_SOLUTION"}(f||(f={}));const W=[{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}],Y={[f.QUOTATION_SOLUTION]:[O.stdConf,O.gift,O.present,O.positive,O.specialPrice,O.fixPrice,O.returning_inventory]};function V(e){const E=Y[e]||[];return 0===E.length?W:W.filter((e=>E.includes(e.value)))}function w(e,E){return(Y[E]||[]).includes(e)}const K=[{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}],q=[{name:"房产",value:I.ESTATE}],k={},x={},j=(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),N=Math.max(0,r||0),t=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*N*t;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*N*t}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=j(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 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 Z(e=32){const E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";let a="";for(let r=0;r<e;r++){a+=E[Math.floor(64*Math.random())]}return a}function $(e){if(null==e||""===e)return"0";const E=parseFloat(e);return isNaN(E)?"0":new Intl.NumberFormat("en-US").format(E)}const J={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(J).sort(((e,E)=>e.order-E.order))}function ee(e){return J[e]||null}const Ee={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 ae(e){return Ee[e]||null}function re(){return Object.entries(Ee).map((([e,E])=>({code:e,name:E.name})))}const ne={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:[]}},oe={TOTAL_CUPBOARD:{...ne,CABINET_TYPE:{name:"定制柜",order:0,mainCategory:[],productCategories:["FLOOR_CABINET","MESA","WALL_CABINET","CYLINDER_CABINET","SLIDE_DOOR_CABINET","HALF_HEIGHT_CABINET","BAR_COUNTER"]}}},Ae=ne;function Ne(e){const E=e&&oe[e]?oe[e]:ne;return Object.values(E).sort(((e,E)=>e.order-E.order))}function te(e,E){return E&&oe[E]&&oe[E][e]?oe[E][e]:ne[e]||null}function Te(e,E){const a=te(e,E);return a&&a.productCategories?a.productCategories.map((e=>{const E=Ee[e];return{categoryName:E?E.name:e,categoryCode:e}})):[]}function Oe(e,E){if(!e)return null;const a=E&&oe[E]?oe[E]:ne;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 _e={CUSTOM_FURNITURE:{name:"定制家具",icon:"CUSTOM_FURNITURE",order:0,matchUnit:["平米"],roomGroups:[{room:J.wholeHouse,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.drawing,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.dining,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.masterBedroom,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.cloakRoom,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.teenagerBedroom,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.studyBedroom,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.entrance,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.balcony,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.storageRoom,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.otherStorageRoom,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.publicAreas,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.kitchen,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]},{room:J.mainBathroom,groups:[ne.CABINET_TYPE,ne.FUNCTIONAL_HARDWARE,ne.APPLIANCE]}]},ALL_SUBJECT:{name:"全品项",icon:"ALL_SUBJECT",order:1,roomGroups:[]},TOTAL_CUPBOARD:{name:"整体橱柜",icon:"TOTAL_CUPBOARD",order:1,matchUnit:["延米"],roomGroups:[{room:J.kitchen,groups:[oe.TOTAL_CUPBOARD.CABINET_TYPE,oe.TOTAL_CUPBOARD.FUNCTIONAL_HARDWARE,oe.TOTAL_CUPBOARD.APPLIANCE]}]},INNER_DOOR_WALLBOARD:{name:"内门墙板",icon:"INNER_DOOR_WALLBOARD",order:3,roomGroups:[{room:J.wholeHouse,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.drawing,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.dining,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.masterBedroom,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.cloakRoom,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.teenagerBedroom,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.studyBedroom,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.entrance,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.balcony,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.storageRoom,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.otherStorageRoom,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.publicAreas,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.kitchen,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]},{room:J.mainBathroom,groups:[ne.INNER_DOOR,ne.PASS,ne.WALLBOARD,ne.FUNCTIONAL_HARDWARE]}]},SOFT_FURNITURE:{name:"软成品",icon:"SOFT_FURNITURE",order:4,roomGroups:[{room:J.wholeHouse,groups:[ne.SOFA,ne.TEA_TABLE,ne.CORNER_TABLE,ne.SIDE_CABINET,ne.TABLE,ne.BED,ne.BEDSIDE,ne.DESK,ne.CHAIR,ne.LOUNGE_CHAIR,ne.TV_CABINET,ne.CONSOLE_CABINET,ne.DECORATIVE_CABINET]},{room:J.drawing,groups:[ne.SOFA,ne.TEA_TABLE,ne.CORNER_TABLE,ne.SIDE_CABINET,ne.TABLE,ne.BED,ne.BEDSIDE,ne.DESK,ne.CHAIR,ne.LOUNGE_CHAIR,ne.TV_CABINET,ne.CONSOLE_CABINET,ne.DECORATIVE_CABINET]},{room:J.masterBedroom,groups:[ne.SOFA,ne.TEA_TABLE,ne.CORNER_TABLE,ne.SIDE_CABINET,ne.TABLE,ne.BED,ne.BEDSIDE,ne.DESK,ne.CHAIR,ne.LOUNGE_CHAIR,ne.TV_CABINET,ne.CONSOLE_CABINET,ne.DECORATIVE_CABINET]},{room:J.teenagerBedroom,groups:[ne.SOFA,ne.TEA_TABLE,ne.CORNER_TABLE,ne.SIDE_CABINET,ne.TABLE,ne.BED,ne.BEDSIDE,ne.DESK,ne.CHAIR,ne.LOUNGE_CHAIR,ne.TV_CABINET,ne.CONSOLE_CABINET,ne.DECORATIVE_CABINET]},{room:J.studyBedroom,groups:[ne.SOFA,ne.TEA_TABLE,ne.CORNER_TABLE,ne.SIDE_CABINET,ne.TABLE,ne.BED,ne.BEDSIDE,ne.DESK,ne.CHAIR,ne.LOUNGE_CHAIR,ne.TV_CABINET,ne.CONSOLE_CABINET,ne.DECORATIVE_CABINET]},{room:J.dining,groups:[ne.SOFA,ne.TEA_TABLE,ne.CORNER_TABLE,ne.SIDE_CABINET,ne.TABLE,ne.BED,ne.BEDSIDE,ne.DESK,ne.CHAIR,ne.LOUNGE_CHAIR,ne.TV_CABINET,ne.CONSOLE_CABINET,ne.DECORATIVE_CABINET]}]},HOME_DECORATION_CONSTRUCTION:{name:"家装施工",icon:"HOME_DECORATION_CONSTRUCTION",order:5,roomGroups:[{room:J.wholeHouse,groups:[]},{room:J.drawing,groups:[]},{room:J.dining,groups:[]},{room:J.masterBedroom,groups:[]},{room:J.cloakRoom,groups:[]},{room:J.teenagerBedroom,groups:[]},{room:J.studyBedroom,groups:[]},{room:J.entrance,groups:[]},{room:J.balcony,groups:[]},{room:J.storageRoom,groups:[]},{room:J.otherStorageRoom,groups:[]},{room:J.publicAreas,groups:[]},{room:J.kitchen,groups:[]},{room:J.mainBathroom,groups:[]}]}};function Ie(e){const E=_e[e];return E?E.roomGroups.map((E=>{const a=E.room,r=Object.keys(J).find((e=>J[e]===a)),n=E.groups.map((E=>{let a=Object.keys(ne).find((e=>ne[e]===E));!a&&oe[e]&&(a=Object.keys(oe[e]).find((a=>oe[e][a]===E)));let r=[];if(E&&E.productCategories)r=E.productCategories.map((e=>{const E=Ee[e];return{categoryName:E?E.name:e,categoryCode:e}}));else if(a){r=(Te(a,e)||[]).map((e=>{const E=Ee[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 Re(e,E){const a=_e[e];if(!a)return[];const r=a.roomGroups.find((e=>e.room===J[E]));return r?r.groups.map((E=>{const a=Object.keys(ne).find((a=>ne[a]===E||!(!oe[e]||oe[e][a]!==E)));if(!a)return{groupName:E.name,groupCode:"",productCategories:[],classifyType:e};const r=(Te(a,e)||[]).map((e=>{const E=Ee[e.categoryCode];return{categoryName:E?E.name:e.categoryCode,categoryCode:e.categoryCode}}));return{groupName:E.name,groupCode:a,productCategories:r,classifyType:e}})):[]}function ie(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 le(e=[]){const E=Object.keys(_e).filter((E=>"ALL_SUBJECT"!==E&&!e.includes(E)));let a=[];E.forEach((e=>{const E=Ie(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 ue=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),N=parseFloat(n||1);switch(a){case this.ProductAttrQuotaOperatorTypeEnum.ADD_MULTIPLE:o=(o+A)*N;break;case this.ProductAttrQuotaOperatorTypeEnum.MULTIPLE_ADD:o=o*N+A;case this.ProductAttrQuotaOperatorTypeEnum.NORMAL:}return o}};var Ce={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=ue.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 ue.getMeasureUnitInfo(e)}catch(e){throw e}},getAllMeasureUnits:function(){try{return ue.getAllMeasureUnits()}catch(e){throw e}},ItemUnitMeasureCalculator:ue};const se={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 me(e){return se[e]||[]}function Le(e){return me(e).map((e=>{var E;return{groupId:e,groupName:(null===(E=ne[e])||void 0===E?void 0:E.name)||e}}))}function Se(e,E){return me(e).includes(E)}const de={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 De(e){return de[e]||[]}function ce(e){return De(e).map((e=>{const E=Ee[e];return{itemId:e,categoryName:E?E.name:e}}))}class Me{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 Ue=Ce.ItemUnitMeasureCalculator,pe=Ce.calculateProductMeasure,Be=Ce.getAllMeasureUnits,Pe=Ce.getMeasureUnitInfo;export{ne as BASE_GROUP_TYPES,R as BUSINESS_SCOPE_ENUM,i as BUSINESS_WORK_PHASE_ENUM,oe as CLASSIFY_GROUP_TYPES,_e as CLASSIFY_ROOM_GROUP_MAP,a as CURRENCY_UNIT_ENUM,L as CURRENCY_UNIT_OPTIONS,p as CUSTOMER_LABEL_ENUM,D as CUSTOMER_SOURCE_ENUM,h as DICTIONARY_ATTRIBUTE_OPTIONS_MAP,P as DICTIONARY_BUSINESS_SCOPE_OPTIONS,g as DICTIONARY_BUSINESS_WORK_PHASE_OPTIONS,B as DICTIONARY_CUSTOMER_LABEL_OPTIONS,c as DICTIONARY_CUSTOMER_SOURCE_OPTIONS,d as DICTIONARY_IDENTIFY_ENUM,H as DICTIONARY_IDENTIFY_OPTIONS,U as DICTIONARY_PROCESS_STAGE_OPTIONS,de as GROUP_ITEM_MAPPING,Ae as GROUP_TYPES,Ue as ItemUnitMeasureCalculator,f as ListType,Y as PRICE_FLAG_LIST_TYPE_MAP,M as PROCESS_STAGE_ENUM,Ee as PRODUCT_CATEGORIES,Me as QuotationItem,n as RECOMMENDATION_TYPE_ENUM,se as ROOM_GROUP_MAPPING,J as ROOM_TYPES,k as __constantsPlaceholder,l as __enumsPlaceholder,x as __interfacesPlaceholder,I as assign_business_type,q as assign_business_type_options,Q as calcActualPrice,j as calcStandardPrice,pe as calculateProductMeasure,E as design_type,C as design_type_options,$ as formatNumberWithCommas,Z as generateRandomId,X as generateUUID,le as getAllClassifyRoomsAndGroups,Be as getAllMeasureUnits,re as getAllProductCategories,ie as getClassifyBaseInfo,Ie as getClassifyRoomsAndGroups,Le as getGroupObjectsByRoomId,te as getGroupTypeByKey,Oe as getGroupTypeByProductCategory,Re as getGroupsByClassifyAndRoom,me as getGroupsByRoomId,ce as getItemObjectsByGroupId,De as getItemsByGroupId,Pe as getMeasureUnitInfo,V as getPriceFlagOptionsByListType,Te as getProductCategoriesByGroupType,ae as getProductCategoryByKey,ee as getRoomTypeByKey,Ne as getSortedGroupTypes,z as getSortedRoomTypes,t as house_status,F as house_status_options,T as house_type,y as house_type_options,Se as isGroupAvailableForRoom,w as isPriceFlagValidForListType,s as order_status,m as order_status_options,O as price_flag,W as price_flag_options,o as pro_series_type_enum,G as pro_series_type_options,v as recommendation_type_options,_ as rounding_rule,K as rounding_rule_options,A as sales_end_app_tag,e as solution_status,u as solution_status_options,N as spatial_category,b as spatial_category_options,r as supply_mode,S as supply_mode_options};
1
+ var e,E,r,a,n,o,A,t,N,T,i,R,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.CONTRACT="CONTRACT"}(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"}(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"}(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"}(R||(R={})),function(e){e.ESTATE="ESTATE"}(O||(O={})),function(e){e.SELF_OPERATED_PRODUCT="SELF_OPERATED_PRODUCT",e.AGENCY_PURCHASE_SALES="AGENCY_PURCHASE_SALES",e.INTERIOR_DESIGN="INTERIOR_DESIGN",e.ENGINEERING_CONSTRUCTION="ENGINEERING_CONSTRUCTION"}(I||(I={})),function(e){e.MARKETING="MARKETING",e.SALES="SALES",e.DESIGN="DESIGN",e.INSTALLATION="INSTALLATION",e.AFTER_SALES="AFTER_SALES"}(_||(_={}));const u={},l=[{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}],s=[{name:"预算方案",value:E.BUDGET},{name:"样板间专属方案",value:E.MODEL_ROOM_EX},{name:"小区专属方案",value:E.COMMUNITY_EX},{name:"订单方案",value:E.ORDER},{name:"合同清单",value:E.CONTRACT}];var C;!function(e){e.NULLIFIED="NULLIFIED",e.LOCKED="LOCKED",e.OPEN="OPEN"}(C||(C={}));const m=[{name:"作废",value:C.NULLIFIED},{name:"锁定",value:C.LOCKED},{name:"开放",value:C.OPEN}],L=[{name:"人民币",value:r.CNY},{name:"美元",value:r.USD},{name:"欧元",value:r.EUR},{name:"英镑",value:r.GBP},{name:"港币",value:r.HKD}],S=[{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 d,c;!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"}(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"}(c||(c={}));const D=[{label:"O2O客户",value:c.OTO_TOURIST_SOURCE},{label:"集团O2O",value:c.GROUP_OTO},{label:"天猫商城",value:c.TMALL},{label:"腾讯平台",value:c.TENCENT_PLATFORM},{label:"大众点评",value:c.DA_ZHONG_DIAN_PING},{label:"百度平台",value:c.STORE_SALES},{label:"官方报名",value:c.OFFICIAL_REGISTRATION},{label:"城市O2O",value:c.CITY_OTO},{label:"社群营销号获客",value:c.COMMUNITY_MARKETING_ACCOUNTS},{label:"商家自媒体报名",value:c.MERCHANT_WE_MEDIA_REGISTRATION},{label:"私域O2O",value:c.PRIVATE_DOMAIN},{label:"客户推荐",value:c.CUSTOMER_RECOMMENDATION},{label:"在途客户推荐",value:c.ON_GOING_CUSTOMER_REFERRAL},{label:"老客户推荐",value:c.OLD_CUSTOMER_REFERRAL},{label:"种子客户推荐",value:c.RECOMMENDED_BY_SEED_CUSTOMER},{label:"商场客流",value:c.MALL_TRAFFIC_FLOW},{label:"自然客流",value:c.NATURAL_TRAFFIC},{label:"活动客流",value:c.EVENT_TRAFFIC},{label:"广告导流",value:c.ADVERTISING_TRAFFIC},{label:"社群客户",value:c.SOCIAL_COMMUNITY_CUSTOMER},{label:"自建小区社群",value:c.SELF_BUILT_COMMUNITY},{label:"自建活动社群",value:c.SELF_BUILT_EVENT_COMMUNITY},{label:"商场营销社群",value:c.MALL_MARKETING_COMMUNITY},{label:"同业联盟推荐",value:c.ALLIANCE_COOPERATION},{label:"家装设计师合作",value:c.INTERIOR_DESIGNER_COLLABORATION},{label:"家装公司合作",value:c.HOME_IMPROVEMENT_COMPANY_COLLABORATION},{label:"主材商家合作",value:c.MAIN_MATERIAL_MERCHANT_COLLABORATION},{label:"主材销售合作",value:c.MAIN_MATERIAL_SALES_COLLABORATION},{label:"异业联盟推荐",value:c.NON_INDUSTRY_ALLIANCE},{label:"开发商合作",value:c.DEVELOPER_COLLABORATION},{label:"物业合作",value:c.PROPERTY_COLLABORATION},{label:"商场合作",value:c.MALL_COLLABORATION},{label:"银行合作",value:c.BANK_COOPERATION},{label:"员工推荐",value:c.EMPLOYEE_REFERRAL},{label:"在职员工推荐",value:c.BE_ON_THE_JOB_EMPLOYEE_REFERRAL},{label:"早期员工推荐",value:c.EARLY_EMPLOYEE_REFERRAL},{label:"其他来源",value:c.OTHER_SOURCE},{label:"扫描员工码",value:c.SCAN_EMPLOYEE_QR_CODE}];var M;!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"}(M||(M={}));const U=[{label:"信息",value:M.INFORMATION_IN_TRANSIT},{label:"客源",value:M.CUSTOMER_SOURCE_IN_TRANSIT},{label:"链接",value:M.LINK_IN_TRANSIT},{label:"会见",value:M.MEETING_IN_TRANSIT},{label:"意向",value:M.INTENTION_IN_TRANSIT},{label:"订单",value:M.ORDER_FORM_IN_TRANSIT},{label:"派单",value:M.ASSIGN_DESIGNER},{label:"量房",value:M.MEASURE_IN_TRANSIT},{label:"报价",value:M.SOLUTION_QUOTATION_IN_TRANSIT},{label:"合同",value:M.CONTRACT_IN_TRANSIT},{label:"复尺",value:M.COMPOUND_RULER_IN_TRANSIT},{label:"采购",value:M.PURCHASE_IN_TRANSIT},{label:"生产",value:M.PRODUCTION_IN_TRANSIT},{label:"物流",value:M.LOGISTICS_IN_TRANSIT},{label:"仓储",value:M.STORAGE_IN_TRANSIT},{label:"安装",value:M.INSTALL_IN_TRANSIT},{label:"满意度交付",value:M.DELIVER_IN_TRANSIT},{label:"老客户",value:M.OLD_CUSTOMER_IN_TRANSIT}];var p;!function(e){e.UNGROUPED="UNGROUPED"}(p||(p={}));const P=[{label:"未分组",value:p.UNGROUPED}],B=[{label:"自营产品",value:I.SELF_OPERATED_PRODUCT},{label:"代购代销",value:I.AGENCY_PURCHASE_SALES},{label:"室内设计",value:I.INTERIOR_DESIGN},{label:"工程施工",value:I.ENGINEERING_CONSTRUCTION}],h=[{label:"营销",value:_.MARKETING},{label:"销售",value:_.SALES},{label:"设计",value:_.DESIGN},{label:"安装",value:_.INSTALLATION},{label:"售后",value:_.AFTER_SALES}],g={[d.CUSTOMER_SOURCE]:D,[d.PROCESS_STAGE]:U,[d.CUSTOMER_LABEL]:P,[d.BUSINESS_SCOPE]:B,[d.BUSINESS_WORK_PHASE]:h},H=[{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},{label:"业务范围分类",value:d.BUSINESS_SCOPE},{label:"业务工作",value:d.BUSINESS_WORK_PHASE}],v=[{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}],b=[{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}],F=[{name:"已交房",value:N.DELIVERED_HOUSE},{name:"未交房",value:N.UNDEVELOPED_HOUSE},{name:"不确认交期",value:N.UNCERTAIN_DELIVERY}],y=[{name:"精装房",value:T.LUXURY_HOUSE},{name:"毛坯房",value:T.BARE_SHELL_HOUSE},{name:"二手房",value:T.SECOND_HAND_HOUSE},{name:"待定",value:T.UNDETERMINED}];var f;!function(e){e.QUOTATION_SOLUTION="QUOTATION_SOLUTION"}(f||(f={}));const W=[{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}],Y={[f.QUOTATION_SOLUTION]:[i.stdConf,i.gift,i.present,i.positive,i.specialPrice,i.fixPrice,i.returning_inventory]};function V(e){const E=Y[e]||[];return 0===E.length?W:W.filter((e=>E.includes(e.value)))}function w(e,E){return(Y[E]||[]).includes(e)}const K=[{name:"个位四舍五入",value:R.SINGLE_ROUND},{name:'个位凑"8"',value:R.SINGLE_SET_EIGHT},{name:'个位凑"9"',value:R.SINGLE_SET_NINE},{name:"个位进十",value:R.SINGLE_SET_TEN},{name:'个位替换 "4"或"7" (加 "1")',value:R.SINGLE_PLUS_ONE},{name:'十位替换 "4"或"7" (加 "1")',value:R.TEN_PLUS_ONE},{name:'个位和十位替换 "4"或"7" (加 "1")',value:R.SINGLE_TEN_PLUS_ONE}],q=[{name:"房产",value:O.ESTATE}],k={},x={},j=(e,E=0)=>{const r=e.measure,a=e.count,n=e.unitPrice,o=e.priceFlag?i[e.priceFlag]:void 0,A=Math.max(0,r||0),t=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*A*t*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=A*t*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=j(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 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 Z(e=32){const E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";let r="";for(let a=0;a<e;a++){r+=E[Math.floor(64*Math.random())]}return r}function $(e){if(null==e||""===e)return"0";const E=parseFloat(e);return isNaN(E)?"0":new Intl.NumberFormat("en-US").format(E)}function J(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))))}function z(e){var E;if("string"!=typeof e)return"";const r=e.split(".");return r.length>1&&(null===(E=r.pop())||void 0===E?void 0:E.toLowerCase())||""}const ee={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 Ee(){return Object.values(ee).sort(((e,E)=>e.order-E.order))}function re(e){return ee[e]||null}const ae={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 ne(e){return ae[e]||null}function oe(){return Object.entries(ae).map((([e,E])=>({code:e,name:E.name})))}const Ae={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:[]}},te={TOTAL_CUPBOARD:{...Ae,CABINET_TYPE:{name:"定制柜",order:0,mainCategory:[],productCategories:["FLOOR_CABINET","MESA","WALL_CABINET","CYLINDER_CABINET","SLIDE_DOOR_CABINET","HALF_HEIGHT_CABINET","BAR_COUNTER"]}}},Ne=Ae;function Te(e){const E=e&&te[e]?te[e]:Ae;return Object.values(E).sort(((e,E)=>e.order-E.order))}function ie(e,E){return E&&te[E]&&te[E][e]?te[E][e]:Ae[e]||null}function Re(e,E){const r=ie(e,E);return r&&r.productCategories?r.productCategories.map((e=>{const E=ae[e];return{categoryName:E?E.name:e,categoryCode:e}})):[]}function Oe(e,E){if(!e)return null;const r=E&&te[E]?te[E]:Ae;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 Ie={CUSTOM_FURNITURE:{name:"定制家具",icon:"CUSTOM_FURNITURE",order:0,matchUnit:["平米"],roomGroups:[{room:ee.wholeHouse,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.drawing,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.dining,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.masterBedroom,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.cloakRoom,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.teenagerBedroom,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.studyBedroom,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.entrance,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.balcony,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.storageRoom,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.otherStorageRoom,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.publicAreas,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.kitchen,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]},{room:ee.mainBathroom,groups:[Ae.CABINET_TYPE,Ae.FUNCTIONAL_HARDWARE,Ae.APPLIANCE]}]},ALL_SUBJECT:{name:"全品项",icon:"ALL_SUBJECT",order:1,roomGroups:[]},TOTAL_CUPBOARD:{name:"整体橱柜",icon:"TOTAL_CUPBOARD",order:1,matchUnit:["延米"],roomGroups:[{room:ee.kitchen,groups:[te.TOTAL_CUPBOARD.CABINET_TYPE,te.TOTAL_CUPBOARD.FUNCTIONAL_HARDWARE,te.TOTAL_CUPBOARD.APPLIANCE]}]},INNER_DOOR_WALLBOARD:{name:"内门墙板",icon:"INNER_DOOR_WALLBOARD",order:3,roomGroups:[{room:ee.wholeHouse,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.drawing,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.dining,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.masterBedroom,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.cloakRoom,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.teenagerBedroom,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.studyBedroom,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.entrance,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.balcony,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.storageRoom,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.otherStorageRoom,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.publicAreas,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.kitchen,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]},{room:ee.mainBathroom,groups:[Ae.INNER_DOOR,Ae.PASS,Ae.WALLBOARD,Ae.FUNCTIONAL_HARDWARE]}]},SOFT_FURNITURE:{name:"软成品",icon:"SOFT_FURNITURE",order:4,roomGroups:[{room:ee.wholeHouse,groups:[Ae.SOFA,Ae.TEA_TABLE,Ae.CORNER_TABLE,Ae.SIDE_CABINET,Ae.TABLE,Ae.BED,Ae.BEDSIDE,Ae.DESK,Ae.CHAIR,Ae.LOUNGE_CHAIR,Ae.TV_CABINET,Ae.CONSOLE_CABINET,Ae.DECORATIVE_CABINET]},{room:ee.drawing,groups:[Ae.SOFA,Ae.TEA_TABLE,Ae.CORNER_TABLE,Ae.SIDE_CABINET,Ae.TABLE,Ae.BED,Ae.BEDSIDE,Ae.DESK,Ae.CHAIR,Ae.LOUNGE_CHAIR,Ae.TV_CABINET,Ae.CONSOLE_CABINET,Ae.DECORATIVE_CABINET]},{room:ee.masterBedroom,groups:[Ae.SOFA,Ae.TEA_TABLE,Ae.CORNER_TABLE,Ae.SIDE_CABINET,Ae.TABLE,Ae.BED,Ae.BEDSIDE,Ae.DESK,Ae.CHAIR,Ae.LOUNGE_CHAIR,Ae.TV_CABINET,Ae.CONSOLE_CABINET,Ae.DECORATIVE_CABINET]},{room:ee.teenagerBedroom,groups:[Ae.SOFA,Ae.TEA_TABLE,Ae.CORNER_TABLE,Ae.SIDE_CABINET,Ae.TABLE,Ae.BED,Ae.BEDSIDE,Ae.DESK,Ae.CHAIR,Ae.LOUNGE_CHAIR,Ae.TV_CABINET,Ae.CONSOLE_CABINET,Ae.DECORATIVE_CABINET]},{room:ee.studyBedroom,groups:[Ae.SOFA,Ae.TEA_TABLE,Ae.CORNER_TABLE,Ae.SIDE_CABINET,Ae.TABLE,Ae.BED,Ae.BEDSIDE,Ae.DESK,Ae.CHAIR,Ae.LOUNGE_CHAIR,Ae.TV_CABINET,Ae.CONSOLE_CABINET,Ae.DECORATIVE_CABINET]},{room:ee.dining,groups:[Ae.SOFA,Ae.TEA_TABLE,Ae.CORNER_TABLE,Ae.SIDE_CABINET,Ae.TABLE,Ae.BED,Ae.BEDSIDE,Ae.DESK,Ae.CHAIR,Ae.LOUNGE_CHAIR,Ae.TV_CABINET,Ae.CONSOLE_CABINET,Ae.DECORATIVE_CABINET]}]},HOME_DECORATION_CONSTRUCTION:{name:"家装施工",icon:"HOME_DECORATION_CONSTRUCTION",order:5,roomGroups:[{room:ee.wholeHouse,groups:[]},{room:ee.drawing,groups:[]},{room:ee.dining,groups:[]},{room:ee.masterBedroom,groups:[]},{room:ee.cloakRoom,groups:[]},{room:ee.teenagerBedroom,groups:[]},{room:ee.studyBedroom,groups:[]},{room:ee.entrance,groups:[]},{room:ee.balcony,groups:[]},{room:ee.storageRoom,groups:[]},{room:ee.otherStorageRoom,groups:[]},{room:ee.publicAreas,groups:[]},{room:ee.kitchen,groups:[]},{room:ee.mainBathroom,groups:[]}]}};function _e(e){const E=Ie[e];return E?E.roomGroups.map((E=>{const r=E.room,a=Object.keys(ee).find((e=>ee[e]===r)),n=E.groups.map((E=>{let r=Object.keys(Ae).find((e=>Ae[e]===E));!r&&te[e]&&(r=Object.keys(te[e]).find((r=>te[e][r]===E)));let a=[];if(E&&E.productCategories)a=E.productCategories.map((e=>{const E=ae[e];return{categoryName:E?E.name:e,categoryCode:e}}));else if(r){a=(Re(r,e)||[]).map((e=>{const E=ae[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 ue(e,E){const r=Ie[e];if(!r)return[];const a=r.roomGroups.find((e=>e.room===ee[E]));return a?a.groups.map((E=>{const r=Object.keys(Ae).find((r=>Ae[r]===E||!(!te[e]||te[e][r]!==E)));if(!r)return{groupName:E.name,groupCode:"",productCategories:[],classifyType:e};const a=(Re(r,e)||[]).map((e=>{const E=ae[e.categoryCode];return{categoryName:E?E.name:e.categoryCode,categoryCode:e.categoryCode}}));return{groupName:E.name,groupCode:r,productCategories:a,classifyType:e}})):[]}function le(e){if(!e)return null;const E=Ie[e];return E?{code:e,name:E.name,icon:E.icon,order:E.order,matchUnit:E.matchUnit}:null}function se(e=[]){const E=Object.keys(Ie).filter((E=>"ALL_SUBJECT"!==E&&!e.includes(E)));let r=[];E.forEach((e=>{const E=_e(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 Ce=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 A=parseFloat(a||0),t=parseFloat(n||1);switch(r){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}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 me={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=Ce.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 Ce.getMeasureUnitInfo(e)}catch(e){throw e}},getAllMeasureUnits:function(){try{return Ce.getAllMeasureUnits()}catch(e){throw e}},isDimensionRequired:function(e,E,r){try{return Ce.isDimensionRequired(e,E,r)}catch(e){throw e}},isDimensionRelated:function(e){try{return Ce.isDimensionRelated(e)}catch(e){throw e}},ItemUnitMeasureCalculator:Ce};const Le={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 Le[e]||[]}function de(e){return Se(e).map((e=>{var E;return{groupId:e,groupName:(null===(E=Ae[e])||void 0===E?void 0:E.name)||e}}))}function ce(e,E){return Se(e).includes(E)}const De={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 De[e]||[]}function Ue(e){return Me(e).map((e=>{const E=ae[e];return{itemId:e,categoryName:E?E.name:e}}))}class pe{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 Pe=me.ItemUnitMeasureCalculator,Be=me.calculateProductMeasure,he=me.getAllMeasureUnits,ge=me.getMeasureUnitInfo,He=me.isDimensionRelated,ve=me.isDimensionRequired;export{Ae as BASE_GROUP_TYPES,I as BUSINESS_SCOPE_ENUM,_ as BUSINESS_WORK_PHASE_ENUM,te as CLASSIFY_GROUP_TYPES,Ie as CLASSIFY_ROOM_GROUP_MAP,r as CURRENCY_UNIT_ENUM,L as CURRENCY_UNIT_OPTIONS,p as CUSTOMER_LABEL_ENUM,c as CUSTOMER_SOURCE_ENUM,g as DICTIONARY_ATTRIBUTE_OPTIONS_MAP,B as DICTIONARY_BUSINESS_SCOPE_OPTIONS,h as DICTIONARY_BUSINESS_WORK_PHASE_OPTIONS,P as DICTIONARY_CUSTOMER_LABEL_OPTIONS,D as DICTIONARY_CUSTOMER_SOURCE_OPTIONS,d as DICTIONARY_IDENTIFY_ENUM,H as DICTIONARY_IDENTIFY_OPTIONS,U as DICTIONARY_PROCESS_STAGE_OPTIONS,De as GROUP_ITEM_MAPPING,Ne as GROUP_TYPES,Pe as ItemUnitMeasureCalculator,f as ListType,Y as PRICE_FLAG_LIST_TYPE_MAP,M as PROCESS_STAGE_ENUM,ae as PRODUCT_CATEGORIES,pe as QuotationItem,n as RECOMMENDATION_TYPE_ENUM,Le as ROOM_GROUP_MAPPING,ee as ROOM_TYPES,k as __constantsPlaceholder,u as __enumsPlaceholder,x as __interfacesPlaceholder,O as assign_business_type,q as assign_business_type_options,Q as calcActualPrice,j as calcStandardPrice,Be as calculateProductMeasure,E as design_type,s as design_type_options,J as findOptionByValue,$ as formatNumberWithCommas,Z as generateRandomId,X as generateUUID,se as getAllClassifyRoomsAndGroups,he as getAllMeasureUnits,oe as getAllProductCategories,le as getClassifyBaseInfo,_e as getClassifyRoomsAndGroups,z as getFileExtension,de as getGroupObjectsByRoomId,ie as getGroupTypeByKey,Oe as getGroupTypeByProductCategory,ue as getGroupsByClassifyAndRoom,Se as getGroupsByRoomId,Ue as getItemObjectsByGroupId,Me as getItemsByGroupId,ge as getMeasureUnitInfo,V as getPriceFlagOptionsByListType,Re as getProductCategoriesByGroupType,ne as getProductCategoryByKey,re as getRoomTypeByKey,Te as getSortedGroupTypes,Ee as getSortedRoomTypes,N as house_status,F as house_status_options,T as house_type,y as house_type_options,He as isDimensionRelated,ve as isDimensionRequired,ce as isGroupAvailableForRoom,w as isPriceFlagValidForListType,C as order_status,m as order_status_options,i as price_flag,W as price_flag_options,o as pro_series_type_enum,G as pro_series_type_options,v as recommendation_type_options,R as rounding_rule,K as rounding_rule_options,A as sales_end_app_tag,e as solution_status,l as solution_status_options,t as spatial_category,b as spatial_category_options,a as supply_mode,S as supply_mode_options};
2
2
  //# sourceMappingURL=index.esm.js.map