bmc-common-resource 1.1.35 → 1.1.37

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