bmc-common-resource 1.1.39 → 1.1.41
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/enums/customer-source.enum.d.ts +2 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -52,6 +52,8 @@ export declare enum CUSTOMER_SOURCE_ENUM {
|
|
|
52
52
|
ALLIANCE_COOPERATION = "ALLIANCE_COOPERATION",
|
|
53
53
|
/** 家装设计师合作 */
|
|
54
54
|
INTERIOR_DESIGNER_COLLABORATION = "INTERIOR_DESIGNER_COLLABORATION",
|
|
55
|
+
/** 裂变客户推荐 */
|
|
56
|
+
FRACTURED_CUSTOMER_REFERRAL = "FRACTURED_CUSTOMER_REFERRAL",
|
|
55
57
|
/** 家装公司合作 */
|
|
56
58
|
HOME_IMPROVEMENT_COMPANY_COLLABORATION = "HOME_IMPROVEMENT_COMPANY_COLLABORATION",
|
|
57
59
|
/** 主材商家合作 */
|
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,E,r,a,n,o,A,t,N,T,O,R,I,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"}(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"}(R||(R={})),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"}(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",e.PROJECT_CLASSIFICATION="PROJECT_CLASSIFICATION",e.PROJECT_TYPE="PROJECT_TYPE",e.PROJECT_SOLUTION="PROJECT_SOLUTION"}(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 U;!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"}(U||(U={}));const M=[{label:"信息",value:U.INFORMATION_IN_TRANSIT},{label:"客源",value:U.CUSTOMER_SOURCE_IN_TRANSIT},{label:"链接",value:U.LINK_IN_TRANSIT},{label:"会见",value:U.MEETING_IN_TRANSIT},{label:"意向",value:U.INTENTION_IN_TRANSIT},{label:"订单",value:U.ORDER_FORM_IN_TRANSIT},{label:"派单",value:U.ASSIGN_DESIGNER},{label:"量房",value:U.MEASURE_IN_TRANSIT},{label:"报价",value:U.SOLUTION_QUOTATION_IN_TRANSIT},{label:"合同",value:U.CONTRACT_IN_TRANSIT},{label:"复尺",value:U.COMPOUND_RULER_IN_TRANSIT},{label:"采购",value:U.PURCHASE_IN_TRANSIT},{label:"生产",value:U.PRODUCTION_IN_TRANSIT},{label:"物流",value:U.LOGISTICS_IN_TRANSIT},{label:"仓储",value:U.STORAGE_IN_TRANSIT},{label:"安装",value:U.INSTALL_IN_TRANSIT},{label:"满意度交付",value:U.DELIVER_IN_TRANSIT},{label:"老客户",value:U.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]:M,[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},{label:"项目分类",value:d.PROJECT_CLASSIFICATION},{label:"项目类型",value:d.PROJECT_TYPE},{label:"项目解决",value:d.PROJECT_SOLUTION}],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}],b=[{name:"系列",value:o.SERIES},{name:"款式",value:o.STYLE}],G=[{name:"厨房",value:t.KITCHEN},{name:"客厅",value:t.LIVING_ROOM},{name:"餐厅",value:t.RESTAURANT},{name:"主卧",value:t.MASTER_BEDROOM},{name:"次卧",value:t.SECOND_BEDROOM},{name:"衣帽间",value:t.CLOAKROOM},{name:"青少年房",value:t.YOUNGSTER_ROOM},{name:"书房",value:t.STUDY},{name:"主卫",value:t.MASTER_BATHROOM},{name:"次卫",value:t.SECOND_BATHROOM},{name:"玄关",value:t.HALLWAY},{name:"阳台",value:t.BALCONY},{name:"储物间",value:t.STOREROOM},{name:"其他空间",value:t.OTHER_SPACE}],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: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: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:I.ESTATE}],k={},x={},j=(e,E=0)=>{const r=e.measure,a=e.count,n=e.unitPrice,o=e.priceFlag?O[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 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)),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?O[e.priceFlag]:void 0;if(r===O.stdConf||r===O.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 J(){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 Z(e){if(null==e||""===e)return"0";const E=parseFloat(e);return isNaN(E)?"0":new Intl.NumberFormat("en-US").format(E)}function $(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 Oe(e,E){return E&&te[E]&&te[E][e]?te[E][e]:Ae[e]||null}function Re(e,E){const r=Oe(e,E);return r&&r.productCategories?r.productCategories.map((e=>{const E=ae[e];return{categoryName:E?E.name:e,categoryCode:e}})):[]}function Ie(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 Ue(e){return De[e]||[]}function Me(e){return Ue(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,M 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,U 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,I 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,$ as findOptionByValue,Z as formatNumberWithCommas,X as generateRandomId,J as generateUUID,se as getAllClassifyRoomsAndGroups,he as getAllMeasureUnits,oe as getAllProductCategories,le as getClassifyBaseInfo,_e as getClassifyRoomsAndGroups,z as getFileExtension,de as getGroupObjectsByRoomId,Oe as getGroupTypeByKey,Ie as getGroupTypeByProductCategory,ue as getGroupsByClassifyAndRoom,Se as getGroupsByRoomId,Me as getItemObjectsByGroupId,Ue 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,O as price_flag,W as price_flag_options,o as pro_series_type_enum,b 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,G as spatial_category_options,a as supply_mode,S as supply_mode_options};
|
|
1
|
+
var e,E,a,r,n,o,A,t,N,T,R,O,_,I,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"}(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"}(R||(R={})),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"}(_||(_={})),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"}(i||(i={}));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: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",e.PROJECT_CLASSIFICATION="PROJECT_CLASSIFICATION",e.PROJECT_TYPE="PROJECT_TYPE",e.PROJECT_SOLUTION="PROJECT_SOLUTION"}(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.FRACTURED_CUSTOMER_REFERRAL="FRACTURED_CUSTOMER_REFERRAL",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.FRACTURED_CUSTOMER_REFERRAL},{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 U;!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"}(U||(U={}));const M=[{label:"信息",value:U.INFORMATION_IN_TRANSIT},{label:"客源",value:U.CUSTOMER_SOURCE_IN_TRANSIT},{label:"链接",value:U.LINK_IN_TRANSIT},{label:"会见",value:U.MEETING_IN_TRANSIT},{label:"意向",value:U.INTENTION_IN_TRANSIT},{label:"订单",value:U.ORDER_FORM_IN_TRANSIT},{label:"派单",value:U.ASSIGN_DESIGNER},{label:"量房",value:U.MEASURE_IN_TRANSIT},{label:"报价",value:U.SOLUTION_QUOTATION_IN_TRANSIT},{label:"合同",value:U.CONTRACT_IN_TRANSIT},{label:"复尺",value:U.COMPOUND_RULER_IN_TRANSIT},{label:"采购",value:U.PURCHASE_IN_TRANSIT},{label:"生产",value:U.PRODUCTION_IN_TRANSIT},{label:"物流",value:U.LOGISTICS_IN_TRANSIT},{label:"仓储",value:U.STORAGE_IN_TRANSIT},{label:"安装",value:U.INSTALL_IN_TRANSIT},{label:"满意度交付",value:U.DELIVER_IN_TRANSIT},{label:"老客户",value:U.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:i.MARKETING},{label:"销售",value:i.SALES},{label:"设计",value:i.DESIGN},{label:"安装",value:i.INSTALLATION},{label:"售后",value:i.AFTER_SALES}],g={[d.CUSTOMER_SOURCE]:c,[d.PROCESS_STAGE]:M,[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},{label:"项目分类",value:d.PROJECT_CLASSIFICATION},{label:"项目类型",value:d.PROJECT_TYPE},{label:"项目解决",value:d.PROJECT_SOLUTION}],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}],b=[{name:"系列",value:o.SERIES},{name:"款式",value:o.STYLE}],G=[{name:"厨房",value:t.KITCHEN},{name:"客厅",value:t.LIVING_ROOM},{name:"餐厅",value:t.RESTAURANT},{name:"主卧",value:t.MASTER_BEDROOM},{name:"次卧",value:t.SECOND_BEDROOM},{name:"衣帽间",value:t.CLOAKROOM},{name:"青少年房",value:t.YOUNGSTER_ROOM},{name:"书房",value:t.STUDY},{name:"主卫",value:t.MASTER_BATHROOM},{name:"次卫",value:t.SECOND_BATHROOM},{name:"玄关",value:t.HALLWAY},{name:"阳台",value:t.BALCONY},{name:"储物间",value:t.STOREROOM},{name:"其他空间",value:t.OTHER_SPACE}],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:R.stdConf},{name:"赠品",value:R.gift},{name:"礼品",value:R.present},{name:"套餐",value:R.package},{name:"正价",value:R.positive},{name:"特价",value:R.specialPrice},{name:"定价",value:R.fixPrice},{name:"退货",value:R.returnedPurchase},{name:"退款",value:R.refund},{name:"样品",value:R.sample},{name:"退库",value:R.returning_inventory},{name:"备库",value:R.backup_warehouse},{name:"秒杀品",value:R.sec_kill_product},{name:"活动产品",value:R.activity_product},{name:"库存产品",value:R.product_stock}],Y={[f.QUOTATION_SOLUTION]:[R.stdConf,R.gift,R.present,R.positive,R.specialPrice,R.fixPrice,R.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: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}],q=[{name:"房产",value:_.ESTATE}],k={},x={},j=(e,E=0)=>{const a=e.measure,r=e.count,n=e.unitPrice,o=e.priceFlag?R[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 R.gift:case R.present:case R.sample:T=0;break;case R.refund:case R.returnedPurchase:T=-1*A*t*N;break;case R.stdConf:case R.positive:case R.specialPrice:case R.fixPrice:case R.package:case R.activity_product:case R.sec_kill_product:case R.product_stock:case R.backup_warehouse:case R.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?R[e.priceFlag]:void 0;if(a===R.stdConf||a===R.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 J(){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 Z(e){if(null==e||""===e)return"0";const E=parseFloat(e);return isNaN(E)?"0":new Intl.NumberFormat("en-US").format(E)}function $(e,E,a="value",r=!1){if(!Array.isArray(E))return;let n=!1,o="value";return"boolean"==typeof r?(n=r,o=a):"string"==typeof r&&(o=r,n="boolean"==typeof a&&a),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 a=e.split(".");return a.length>1&&(null===(E=a.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 ae(e){return ee[e]||null}const re={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 re[e]||null}function oe(){return Object.entries(re).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 Re(e,E){return E&&te[E]&&te[E][e]?te[E][e]:Ae[e]||null}function Oe(e,E){const a=Re(e,E);return a&&a.productCategories?a.productCategories.map((e=>{const E=re[e];return{categoryName:E?E.name:e,categoryCode:e}})):[]}function _e(e,E){if(!e)return null;const a=E&&te[E]?te[E]:Ae;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 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 ie(e){const E=Ie[e];return E?E.roomGroups.map((E=>{const a=E.room,r=Object.keys(ee).find((e=>ee[e]===a)),n=E.groups.map((E=>{let a=Object.keys(Ae).find((e=>Ae[e]===E));!a&&te[e]&&(a=Object.keys(te[e]).find((a=>te[e][a]===E)));let r=[];if(E&&E.productCategories)r=E.productCategories.map((e=>{const E=re[e];return{categoryName:E?E.name:e,categoryCode:e}}));else if(a){r=(Oe(a,e)||[]).map((e=>{const E=re[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 ue(e,E){const a=Ie[e];if(!a)return[];const r=a.roomGroups.find((e=>e.room===ee[E]));return r?r.groups.map((E=>{const a=Object.keys(Ae).find((a=>Ae[a]===E||!(!te[e]||te[e][a]!==E)));if(!a)return{groupName:E.name,groupCode:"",productCategories:[],classifyType:e};const r=(Oe(a,e)||[]).map((e=>{const E=re[e.categoryCode];return{categoryName:E?E.name:e.categoryCode,categoryCode:e.categoryCode}}));return{groupName:E.name,groupCode:a,productCategories:r,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 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 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: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}static isDimensionRequired(e,E,a){if(!e||!E)return!1;const r=E.toLowerCase();if(!["width","height","depth"].includes(r))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(a)switch(a){case"WIDTH_HEIGHT":return"width"===r||"height"===r;case"WIDTH_DEPTH":case"PERIMETER":return"width"===r||"depth"===r;case"HEIGHT_DEPTH":return"height"===r||"depth"===r;case"WIDTH":case"CUSTOM_LENGTH":return"width"===r;case"HEIGHT":return"height"===r;case"DEPTH":return"depth"===r;default:return o.requiredDimensions.includes(r)}return o.requiredDimensions.includes(r)}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 a=this.ProductUnitMeasureEnum[E];return a.dimension>0||a.requiredDimensions.length>0}};var me={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=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,a){try{return Ce.isDimensionRequired(e,E,a)}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 De(e,E){return Se(e).includes(E)}const ce={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 Ue(e){return ce[e]||[]}function Me(e){return Ue(e).map((e=>{const E=re[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,i as BUSINESS_WORK_PHASE_ENUM,te as CLASSIFY_GROUP_TYPES,Ie 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,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,c as DICTIONARY_CUSTOMER_SOURCE_OPTIONS,d as DICTIONARY_IDENTIFY_ENUM,H as DICTIONARY_IDENTIFY_OPTIONS,M as DICTIONARY_PROCESS_STAGE_OPTIONS,ce as GROUP_ITEM_MAPPING,Ne as GROUP_TYPES,Pe as ItemUnitMeasureCalculator,f as ListType,Y as PRICE_FLAG_LIST_TYPE_MAP,U as PROCESS_STAGE_ENUM,re 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,_ 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,$ as findOptionByValue,Z as formatNumberWithCommas,X as generateRandomId,J as generateUUID,se as getAllClassifyRoomsAndGroups,he as getAllMeasureUnits,oe as getAllProductCategories,le as getClassifyBaseInfo,ie as getClassifyRoomsAndGroups,z as getFileExtension,de as getGroupObjectsByRoomId,Re as getGroupTypeByKey,_e as getGroupTypeByProductCategory,ue as getGroupsByClassifyAndRoom,Se as getGroupsByRoomId,Me as getItemObjectsByGroupId,Ue as getItemsByGroupId,ge as getMeasureUnitInfo,V as getPriceFlagOptionsByListType,Oe as getProductCategoriesByGroupType,ne as getProductCategoryByKey,ae 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,De as isGroupAvailableForRoom,w as isPriceFlagValidForListType,C as order_status,m as order_status_options,R as price_flag,W as price_flag_options,o as pro_series_type_enum,b as pro_series_type_options,v as recommendation_type_options,O 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,G as spatial_category_options,r as supply_mode,S as supply_mode_options};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|