package pkg2024 import "zhiyuan/pkg/utils" var 拆除项 = []BuildItem{ { Name: "门洞加宽(墙宽300以内/拆至梁下)", Type: 拆除, Price: 30, Unit: "个", Remark: "1、含购袋及垃圾装袋费用,垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/个)。", Splits: []SplitItem{ {Type: 拆除, Price: 20}, }, }, { Name: "拆除墙体(墙厚150mm以内,装袋,清运下楼)", Type: 拆除, Price: 65, Unit: "m²", Remark: "1、含购袋及垃圾装袋费用,垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/M2),不含混凝土墙、梁柱拆除;2、复式楼、别墅墙体拆除第一层按65元/M2计算,第二层以上(含第二层)每上一层增加10元/M2;3、不足1平方按1平方计算。", Splits: []SplitItem{ {Type: 拆除, Price: 35}, }, }, { Name: "拆除墙体(墙厚150-280mm以内,装袋,清运下楼)", Type: 拆除, Price: 75, Unit: "m²", Remark: "1、含购袋及垃圾装袋费用,垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/M2),不含混凝土墙、梁柱拆除;2、三层以上(含三层)无电梯房每上一层增加10元/M2;3、复式楼、别墅各楼层的墙体拆除费用均按其在本楼栋的实际楼层数核算;4、不足1平方按1平方计算。", Splits: []SplitItem{ {Type: 拆除, Price: 45}, }, }, { Name: "拆除墙体(墙厚280-350mm以内,装袋,清运下楼)", Type: 拆除, Price: 120, Unit: "m²", Remark: "1、含购袋及垃圾装袋费用,垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/M2),不含混凝土墙、梁柱拆除;2、复式楼、别墅墙体拆除第一层按120元/M2计算,第二层以上(含第二层)每上一层增加10元/M2;3、不足1平方按1平方计算。", Splits: []SplitItem{ {Type: 拆除, Price: 65}, }, }, { Name: "拆除砖墙(有电梯)", Type: 拆除, Price: 65, Unit: "m²", Remark: "1、含购袋及垃圾装袋费用,此项费用如小区指定堆放地点运距超过100米,超过另加10.00元/M2,不含混凝土墙、梁柱拆除;2、复式楼、别墅墙体拆除第一层按65元/M2计算,第二层以上(含第二层)每上一层增加10元/M2;3、不足1平方按1平方计算。", Splits: []SplitItem{ {Type: 拆除, Price: 40}, }, }, { Name: "拆除砖墙(无电梯)", Type: 拆除, Price: 75, Unit: "m²", Remark: "1、含购袋及垃圾装袋费用,此项费用如小区指定堆放地点运距超过100米,超过另加10.00元/M2,不含混凝土墙、梁柱拆除; 2、三层以上(含三层)无电梯房每上一层增加10元/M2; 3、复式楼、别墅各楼层的墙体拆除费用均按其在本楼栋的实际楼层数核算; 4、不足1平方按1平方计算。", Splits: []SplitItem{ {Type: 拆除, Price: 65}, }, }, { Name: "拆除砖墙(无电梯三楼)增加费用", Type: 拆除, Price: 10, Unit: "m²", Remark: "1、三层以上(含三层)无电梯房每上一层增加10元/M2; 2、复式楼、别墅各楼层的墙体拆除费用均按其在本楼栋的实际楼层数核算; 3、不足1平方按1平方计算。", Splits: []SplitItem{ {Type: 拆除, Price: 10}, }, SpecialProject: true, }, { Name: "拆除砖墙(无电梯四楼)增加费用", Type: 拆除, Price: 20, Unit: "m²", Remark: "1、三层以上(含三层)无电梯房每上一层增加10元/M2; 2、复式楼、别墅各楼层的墙体拆除费用均按其在本楼栋的实际楼层数核算; 3、不足1平方按1平方计算。", Splits: []SplitItem{ {Type: 拆除, Price: 20}, }, SpecialProject: true, }, { Name: "拆除砖墙(无电梯五楼)增加费用", Type: 拆除, Price: 30, Unit: "m²", Remark: "1、三层以上(含三层)无电梯房每上一层增加10元/M2; 2、复式楼、别墅各楼层的墙体拆除费用均按其在本楼栋的实际楼层数核算; 3、不足1平方按1平方计算。", Splits: []SplitItem{ {Type: 拆除, Price: 30}, }, SpecialProject: true, }, { Name: "拆除砖墙(无电梯六楼)增加费用", Type: 拆除, Price: 40, Unit: "m²", Remark: "1、三层以上(含三层)无电梯房每上一层增加10元/M2; 2、复式楼、别墅各楼层的墙体拆除费用均按其在本楼栋的实际楼层数核算; 3、不足1平方按1平方计算。", Splits: []SplitItem{ {Type: 拆除, Price: 40}, }, SpecialProject: true, }, { Name: "拆除砖墙(无电梯七楼)增加费用", Type: 拆除, Price: 50, Unit: "m²", Remark: "1、三层以上(含三层)无电梯房每上一层增加10元/M2; 2、复式楼、别墅各楼层的墙体拆除费用均按其在本楼栋的实际楼层数核算; 3、不足1平方按1平方计算。", Splits: []SplitItem{ {Type: 拆除, Price: 50}, }, SpecialProject: true, }, { Name: "敲除半砖墙(有电梯)", Type: 拆除, Price: 120, Unit: "m²", Remark: "1、含购袋、垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/M2),不含混凝土墙、梁柱拆除;2、复式楼、别墅墙体拆除第一层按120元/M2计算,第二层以上(含第二层)每上一层增加50元/M2;3、不足1平方按1平方计算。", Splits: []SplitItem{ {Type: 拆除, Price: 70}, }, }, { Name: "拆除门洞上方混凝土墙(非结构梁)", Type: 拆除, Price: 120, Unit: "个", Remark: "含人工粉补和水泥、沙。", Splits: []SplitItem{ {Type: 拆除, Price: 68}, }, }, { Name: "铲除灰砂层(保温层)", Type: 拆除, Price: 30, Unit: "m", Remark: "含购袋及垃圾装袋费用,垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/M4),粉补另计(不足1平方按1平方计算)。", Splits: []SplitItem{ {Type: 拆除, Price: 20}, }, }, { Name: "铲除墙砖地面砖(拆旧)", Type: 拆除, Price: 25, Unit: "m²", Remark: "含购袋及垃圾装袋费用,垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/M2)。(不足1平方按1平方计算)。", Splits: []SplitItem{ {Type: 拆除, Price: 25}, }, SpecialProject: true, }, { Name: "铲除墙面或顶面白灰层(铲大白)", Type: 拆除, Price: 30, Unit: "m²", Remark: "含人工和水泥、沙。(超过3公分,每公分加6元/M2)", Splits: []SplitItem{ {Type: 拆除, Price: 20}, }, }, { Name: "拆除砖质飘窗地台", Type: 拆除, Price: 165, Unit: "m", Remark: "1、含购袋、垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/M)。2、不足2米按2米计算。", Splits: []SplitItem{ {Type: 拆除, Price: 80}, }, }, { Name: "拆除门垛", Type: 拆除, Price: 30, Unit: "个", Remark: "1、含购袋、垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/个)。", Splits: []SplitItem{ {Type: 拆除, Price: 15}, }, }, /*{ Name: "铲除顶面原有刮瓷", Type: 拆除, Price: 20, Unit: "m", Remark: "1、含购袋、垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/M2)。", Splits: []SplitItem{ {Type: 拆除, Price: 12}, }, },*/ { Name: "拆除原有门套及门(含铝合金)", Type: 拆除, Price: 50, Unit: "个", Remark: "含购袋、垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/M2)。", Splits: []SplitItem{ {Type: 拆除, Price: 30}, }, }, { Name: "外墙乳胶漆打磨", Type: 拆除, Price: 30, Unit: "m²", Remark: "1、含购袋、垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/M2)。", Splits: []SplitItem{ {Type: 拆除, Price: 20}, }, }, { Name: "卫生间墙面打磨(油性防水层)", Type: 拆除, Price: 30, Unit: "m²", Remark: "1、含购袋、垃圾运至小区指定堆放地点(运距小于100米以内,超过另加10.00元/M2)。", Splits: []SplitItem{ {Type: 拆除, Price: 20}, }, }, } var 水电项 = []BuildItem{ { Name: "水电基础", Type: 水电, Price: 108, Unit: "m²", Remark: "含人工开槽,多股软线,柜机空调、卫生间及厨房安装4平方线(地线2.5平方),分体空调及普通插座2.5平方线(地线1.5平方),照明线1.5平方线,上水管为日丰PPR管,下水管为国标PVC管.面积按房子外框面积计算(不含开关插座面板,水龙头,阀门等,用户强电盒和弱电盒移位,用户材料如有特殊要求按市场材料价格补差,如业主需配备中央循环系统,中央空调,饮水净化系统,空气源热水器,地暖,家庭影院等有特殊水电安装所需材料业主自购)。", Splits: []SplitItem{ {Type: 水电基础, Price: 23}, { Type: 水电材料, TotalCalc: func(context *ItemContext, number float64) (float64, error) { if number < 60 { return number * 55, nil } if number <= 90 { return number * 50, nil } t := number * 45 if t < 4500 { return 4500, nil } return t, nil }, }, }, }, { Name: "水电安装", Type: 水电, Price: 800, Unit: "套", Remark: "仅含人工,不含水晶灯安装。两房报价:800元;增加一房加200元", PriceCalc: func(context *ItemContext) (float64, error) { price := context.Item.Price if context.Pkg.RoomData.Pkg.Layout[0] > 2 { price += float64((context.Pkg.RoomData.Pkg.Layout[0] - 2) * 200) } //if context.Pkg.RoomData.Pkg.Layout[3] > 1 { //price += float64((context.Pkg.RoomData.Pkg.Layout[0] - 1) * 120) //} return price, nil }, Splits: []SplitItem{{ Type: 水电安装, Price: 12, PriceCalc: func(context *ItemContext) (float64, error) { return context.Item.Splits[0].Price * context.Pkg.RoomData.Pkg.Area, nil }, }}, }, { Name: "地面线管开槽", Type: 水电, Price: 10, Unit: "m²", Remark: "含人工及垃圾清理。", Splits: []SplitItem{ {Type: 水电基础, Price: 10}, }, SpecialProject: true, }, { Name: "复式楼、别墅水电费用调差费用", Type: 水电, Price: 10, Unit: "m²", Remark: "1、挑空层复式楼、别墅水电施工全楼层增加水电工程费用调差10元/平米; 2、非挑空层复式楼、别墅水电施工除入户层外,其它楼层增加水电工程费用调差10元/平米。", Splits: []SplitItem{ {Type: 水电基础, Price: 10}, }, SpecialProject: true, }, { Name: "强.弱电箱移位", Type: 水电, Price: 99, Unit: "个", Remark: "仅含人工。", Splits: []SplitItem{ {Type: 水电基础, Price: 60}, }, }, } var 泥工项 = []BuildItem{ { Name: "新砌砖墙(24墙)", Type: 泥工, Price: 228, Unit: "m²", PriceCalc: func(context *ItemContext) (float64, error) { if context.ItemNumber >= 30 { return 222, nil } return 228, nil }, Remark: "含砖、水泥、沙,双面粉刷。", Splits: []SplitItem{{Type: 泥工, Price: 70}}, SpecialProjectCalc: func(context *ItemContext) (bool, error) { return context.ItemNumber >= 30, nil }, }, /*{ Name: "新砌砖墙(24墙)(大于30M²)", Type: 泥工, Price: 222, Unit: "m²", Remark: "含砖、水泥、沙,双面粉刷。", Splits: []SplitItem{{Type: 泥工, Price: 70}}, },*/ { Name: "新砌砖墙(12墙)", Type: 泥工, Price: 186, Unit: "m²", PriceCalc: func(context *ItemContext) (float64, error) { if context.ItemNumber >= 30 { return 166, nil } return 186, nil }, Remark: "含砖、水泥、沙,双面粉刷。", Splits: []SplitItem{{Type: 泥工, Price: 60}}, SpecialProjectCalc: func(context *ItemContext) (bool, error) { return context.ItemNumber >= 30, nil }, }, /*{ Name: "新砌砖墙(12墙)(大于30M²)", Type: 泥工, Price: 186, Unit: "m²", Remark: "含砖、水泥、沙,双面粉刷。", Splits: []SplitItem{{Type: 泥工, Price: 60}}, },*/ { Name: "新砌砖墙 上楼费", Type: 泥工, Price: 23, Unit: "层", Remark: "", Splits: []SplitItem{{Type: 沙石材料, Price: 14}}, }, { Name: "粉线槽", Type: 泥工, Price: 6, Unit: "m²", Remark: "含人工和水泥、沙。面积按房子外框面积计算。", Splits: []SplitItem{{Type: 泥工, Price: 6}}, }, { Name: "地面贴砖(300*300mm-800*800mm)", Type: 泥工, Price: 68, Unit: "m²", Remark: "含人工和水泥、沙。主材及勾缝剂业主自购。特殊贴法(做缝、斜铺)各加8.00元/M2。铺贴厚度小于5公分(含地砖厚度),每增加1公分按6.00元/公分计算。", Splits: []SplitItem{{Type: 泥工, Price: 45}}, }, { Name: "地面贴砖(600*1200mm)", Type: 泥工, Price: 68, Unit: "m²", Remark: "含人工和水泥、沙。主材及勾缝剂业主自购。特殊贴法(做缝、斜铺)各加8.00元/M2。铺贴厚度小于5公分(含地砖厚度),每增加1公分按6.00元/公分计算。", Splits: []SplitItem{{Type: 泥工, Price: 55}}, }, { Name: "地面贴砖(750*1500mm)", Type: 泥工, Price: 108, Unit: "m²", Remark: "含人工和水泥、沙。主材及勾缝剂业主自购。特殊贴法(做缝、斜铺)各加8.00元/M2。铺贴厚度小于5公分(含地砖厚度),每增加1公分按6.00元/公分计算。", Splits: []SplitItem{{Type: 泥工, Price: 65}}, }, { Name: "地面铺贴厚度超高补差", Type: 泥工, Price: 6, Unit: "公分", Remark: "铺贴厚度≤5公分(含地砖厚度),每增加1公分按6.00元/公分计算", Splits: []SplitItem{{Type: 沙石材料, Price: 3.5}}, }, { Name: "墙面贴砖(300*300mm-300*600mm)", Type: 泥工, Price: 68, Unit: "m²", Remark: "1、规格300*300-300*600瓷片铺贴:68元/M2。含人工和水泥、沙;瓷砖及勾缝剂业主自购;特殊贴法(做缝、斜铺)各加8.00元/M2。2、规格300*300-300*600仿古砖、加工砖铺贴:78元/M2。含人工、水泥、沙、背胶。瓷砖及勾缝剂业主自购。特殊贴法(做缝、拼花、斜铺)各加10元/M2。", Splits: []SplitItem{{Type: 泥工, Price: 45}}, }, { Name: "墙面贴砖(400*800mm)", Type: 泥工, Price: 68, Unit: "m²", Remark: "1、规格300*300-300*600瓷片铺贴:68元/M2。含人工和水泥、沙;瓷砖及勾缝剂业主自购;特殊贴法(做缝、斜铺)各加8.00元/M2。2、规格300*300-300*600仿古砖、加工砖铺贴:78元/M2。含人工、水泥、沙、背胶。瓷砖及勾缝剂业主自购。特殊贴法(做缝、拼花、斜铺)各加10元/M2。", Splits: []SplitItem{{Type: 泥工, Price: 45}}, }, { Name: "墙面贴砖(600*1200mm)", Type: 泥工, Price: 129, Unit: "m²", Remark: "1、规格300*300-300*600瓷片铺贴:68元/M2。含人工和水泥、沙;瓷砖及勾缝剂业主自购;特殊贴法(做缝、斜铺)各加8.00元/M2。2、规格300*300-300*600仿古砖、加工砖铺贴:78元/M2。含人工、水泥、沙、背胶。瓷砖及勾缝剂业主自购。特殊贴法(做缝、拼花、斜铺)各加10元/M2。", Splits: []SplitItem{{Type: 泥工, Price: 55}}, }, { Name: "墙面贴砖(750*1500mm)", Type: 泥工, Price: 200, Unit: "m²", Remark: "1、规格300*300-300*600瓷片铺贴:68元/M2。含人工和水泥、沙;瓷砖及勾缝剂业主自购;特殊贴法(做缝、斜铺)各加8.00元/M2。2、规格300*300-300*600仿古砖、加工砖铺贴:78元/M2。含人工、水泥、沙、背胶。瓷砖及勾缝剂业主自购。特殊贴法(做缝、拼花、斜铺)各加10元/M2。", Splits: []SplitItem{{Type: 泥工, Price: 85}}, }, { Name: "地砖(石材)拼花", Type: 泥工, Price: 105, Unit: "m²", Remark: "含人工和水泥、沙;瓷砖(石材)及勾缝剂业主自购;", Splits: []SplitItem{{Type: 泥工, Price: 60}}, }, { Name: "波导线铺贴", Type: 泥工, Price: 25, Unit: "m", Remark: "含人工和水泥、沙;瓷砖(石材)及勾缝剂业主自购;", Splits: []SplitItem{{Type: 泥工, Price: 10}}, }, { Name: "踢脚线铺贴(明贴)", Type: 泥工, Price: 15, Unit: "m", Remark: "含人工和水泥、沙。踢脚线业主自购。", Splits: []SplitItem{{Type: 泥工, Price: 8}}, }, { Name: "踢脚线铺贴(暗贴)", Type: 泥工, Price: 30, Unit: "m", Remark: "含人工和水泥、沙。踢脚线业主自购。", Splits: []SplitItem{{Type: 泥工, Price: 20}}, }, { Name: "踢脚线铺贴(暗贴) 补差", Type: 泥工, Price: 15, Unit: "m", Remark: "含人工和水泥、沙。踢脚线业主自购。", Splits: []SplitItem{{Type: 泥工, Price: 12}}, }, { Name: "铺贴石材踢脚线", Type: 泥工, Price: 20, Unit: "m", Remark: "含人工和水泥、沙,石材地脚线业主自购。", Splits: []SplitItem{{Type: 泥工, Price: 10}}, }, { Name: "挡水线", Type: 泥工, Price: 35, Unit: "m", Remark: "含人工和水泥、沙,挡水线业主自购。", Splits: []SplitItem{{Type: 泥工, Price: 20}}, }, { Name: "地面找平", Type: 泥工, Price: 38, Unit: "m²", Remark: "含人工和水泥、沙。铺贴厚度≤5公分,每增加1公分按6.00元/公分计算。", Splits: []SplitItem{{Type: 泥工, Price: 18}}, }, { Name: "封包管道(单管或双管)", Type: 泥工, Price: 250, Unit: "根", Remark: "预制包管及消音处理,水泥沙浆粉刷。按2.5米/根计算 ", Splits: []SplitItem{{Type: 封包管道, Price: 150}}, }, { Name: "安装门槛石", Type: 泥工, Price: 40, Unit: "m", Remark: "含人工和水泥、沙。门槛石业主自购。", Splits: []SplitItem{{Type: 泥工, Price: 20}}, }, { Name: "小窗台大理石安装", Type: 泥工, Price: 40, Unit: "m", Remark: "含人工和水泥、沙。小窗台大理石公司负责,宽度≤200MM。", Splits: []SplitItem{{Type: 泥工, Price: 20}}, }, { Name: "窗台大理石安装 宽度>200MM<700MM", Type: 泥工, Price: 60, Unit: "m", Remark: "含人工和水泥、沙。窗台大理石公司负责,宽度>200MM<700MM。", Splits: []SplitItem{{Type: 泥工, Price: 40}}, }, { Name: "窗台大理石安装 宽度≥700MM", Type: 泥工, Price: 80, Unit: "m", Remark: "含人工和水泥、沙。窗台大理石公司负责,宽度≥700MM。", Splits: []SplitItem{{Type: 泥工, Price: 40}}, }, { Name: "安装石基", Type: 泥工, Price: 40, Unit: "m", Remark: "含人工和水泥、沙。", Splits: []SplitItem{{Type: 泥工, Price: 20}}, }, { Name: "过桥板", Type: 泥工, Price: 75, Unit: "m", Remark: "含人工、水泥、沙、钢筋。", Splits: []SplitItem{{Type: 泥工, Price: 20}}, }, { Name: "拆除后水泥沙浆粉刷(宽30㎝以内)", Type: 泥工, Price: 30, Unit: "m", Remark: "含人工、水泥、沙。", Splits: []SplitItem{{Type: 泥工, Price: 20}}, }, { Name: "砌门垛", Type: 泥工, Price: 80, Unit: "个", Remark: "含砖、水泥、沙,双面粉刷。", Splits: []SplitItem{{Type: 泥工, Price: 40}}, }, { Name: "卫生间回填(卫生间面积≤4.0M²)", Type: 泥工, Price: 350, Unit: "项", Remark: "拆除墙体的垃圾敲碎后回填及沙填充。", Splits: []SplitItem{{Type: 泥工, Price: 150}}, }, { Name: "卫生间回填(卫生间面积>4.0M²)", Type: 泥工, Price: 450, Unit: "项", Remark: "拆除墙体的垃圾敲碎后回填及沙填充。", Splits: []SplitItem{{Type: 泥工, Price: 150}}, }, { Name: "卫生间回填(预制板沉箱制作)", Type: 泥工, Price: 320, Unit: "m²", Remark: "砖墙框架,32.5标号水泥、国标08钢筋结构,6cm厚水泥现浇填沉箱,底部留空二次排水处理。", Splits: []SplitItem{{Type: 泥工, Price: 100}}, }, { Name: "卫生间回填(陶粒回填)", Type: 泥工, Price: 480, Unit: "m²", Remark: "砖墙框架,回填陶粒和沙填充,32.5标号水泥、国标08钢筋结构,做井子格,水泥现浇。", Splits: []SplitItem{{Type: 泥工, Price: 150}}, }, { Name: "卫生间回填后水泥砂浆找平", Type: 泥工, Price: 38, Unit: "m²", Remark: "含人工和水泥、沙。", Splits: []SplitItem{{Type: 泥工, Price: 18}}, }, { Name: "水泥砂浆地面抬高150~200mm", Type: 泥工, Price: 65, Unit: "m²", Remark: "打墙余土填充,表面水泥砂浆,如需用全沙填充,则需另按每平方米78元加收。", Splits: []SplitItem{{ Type: 泥工, TotalCalc: func(context *ItemContext, number float64) (float64, error) { return 100, nil }, }}, }, { Name: "水泥砂浆地面抬高200~300mm", Type: 泥工, Price: 85, Unit: "m²", Remark: "打墙余土填充,表面水泥砂浆,如需用全沙填充,则需另按每平方米98元加收。", Splits: []SplitItem{{ Type: 泥工, TotalCalc: func(context *ItemContext, number float64) (float64, error) { return 100, nil }, }}, }, { Name: "烟道挂网加固", Type: 泥工, Price: 220, Unit: "项", Remark: "含钢丝网及人工粉补和水泥、沙。", Splits: []SplitItem{{Type: 泥工, Price: 120}}, }, { Name: "铲除后墙面水泥砂浆粉刷(单面)", Type: 泥工, Price: 30, Unit: "m²", Remark: "含人工和水泥、沙。(超过3公分,每公分加6元/M2)", Splits: []SplitItem{{Type: 泥工, Price: 20}}, }, { Name: "壁龛制作(宽60公分之内)", Type: 泥工, Price: 1000, Unit: "项", Remark: "含红砖、水泥、沙。", Splits: []SplitItem{{Type: 泥工, Price: 500}}, }, } var 油漆材料拆分 = SplitItem{ Type: 油漆材料, PriceCalc: func(context *ItemContext) (float64, error) { return utils.FloatSub(utils.FloatMulSlice([]float64{context.Item.Price, 1.15, 0.9, 0.63}, -1), context.Item.Splits[0].Price, -1), nil }, } var 油漆项 = []BuildItem{ { Name: "天棚、墙面批嵌", Type: 油漆, Price: 26, Unit: "m²", Remark: "点防锈漆、贴绷带、刮腻子、打磨平整。", Splits: []SplitItem{{Type: 油漆, Price: 12}, 油漆材料拆分}, }, { Name: "天棚、墙面乳胶漆", Type: 油漆, Price: 6, Unit: "m²", Remark: "手刷白色乳胶漆,调色加4元/M2。", Splits: []SplitItem{{Type: 油漆, Price: 2}, 油漆材料拆分}, }, { Name: "乳胶漆调色", Type: 油漆, Price: 4, Unit: "m²", Remark: "手刷白色乳胶漆,调色加4元/M2。", Splits: []SplitItem{{Type: 油漆, Price: 2}, 油漆材料拆分}, }, { Name: "水泥毛坯顶找平", Type: 油漆, Price: 12, Unit: "m²", Remark: "石膏粉、白胶及人工。", Splits: []SplitItem{{Type: 油漆, Price: 5}, 油漆材料拆分}, }, { Name: "全房挂网粉刷", Type: 油漆, Price: 18, Unit: "m²", Remark: "含纤维网及刮瓷人工补差", Splits: []SplitItem{{Type: 油漆材料, Price: 2}}, }, } var 木工材料拆分 = SplitItem{ Type: 木工材料, PriceCalc: func(context *ItemContext) (float64, error) { return utils.FloatSub(utils.FloatMulSlice([]float64{context.Item.Price, 0.9, 0.63}, -1), context.Item.Splits[0].Price, -1), nil }, } var 木工项 = []BuildItem{ { Name: "隔音墙(双面)", Type: 木工, Price: 150, Unit: "m²", Remark: "轻钢龙骨或甲板框架,纸面石膏板封面,内填充隔音棉;不含批灰、乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 45}, 木工材料拆分}, }, { Name: "隔音墙(单面)", Type: 木工, Price: 120, Unit: "m²", Remark: "轻钢龙骨或甲板骨框架,纸面石膏板封面,内填充隔音棉;不含批灰、乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 35}, 木工材料拆分}, }, { Name: "直线造型吊顶(二级)", Type: 木工, Price: 165, Unit: "m²", Remark: "轻钢龙骨或木龙骨框架,纸面石膏板拼接封面,按展开面积计算,含灯槽制作七(±1)厘夹板衬底,不含批灰和乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 45}, 木工材料拆分}, }, { Name: "直线造型吊顶(三级)", Type: 木工, Price: 175, Unit: "m²", Remark: "轻钢龙骨或甲板骨框架,纸面石膏板封面,内填充隔音棉;不含批灰、乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 55}, 木工材料拆分}, }, { Name: "双层直线造型吊顶(二级)", Type: 木工, Price: 196, Unit: "m²", Remark: "轻钢龙骨或木龙骨框架,双层纸面石膏板拼接封面,按展开面积计算,含灯槽制作七(±1)厘夹板衬底,不含批灰和乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 50}, 木工材料拆分}, }, { Name: "双层直线造型吊顶(三级)", Type: 木工, Price: 215, Unit: "m²", Remark: "轻钢龙骨或木龙骨框架,双层纸面石膏板拼接封面,按展开面积计算,含灯槽制作七(±1)厘夹板衬底,不含批灰和乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 60}, 木工材料拆分}, }, { Name: "异型吊顶", Type: 木工, Price: 215, Unit: "m²", Remark: "轻钢龙骨或木龙骨框架,纸面石膏板拼接封面,按展开面积计算,含灯槽制作七(±1)厘夹板衬底,不含批灰和乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 80}, 木工材料拆分}, }, { Name: "双层异型吊顶", Type: 木工, Price: 255, Unit: "m²", Remark: "轻钢龙骨或木龙骨框架,双层纸面石膏板拼接封面,按展开面积计算,含灯槽制作七(±1)厘夹板衬底,不含批灰和乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 100}, 木工材料拆分}, }, { Name: "硅酸钙板平面吊顶", Type: 木工, Price: 182, Unit: "m²", Remark: "轻钢龙骨结构(局部木龙骨辅助),硅酸钙板拼接封面,按展开面积计算,不含批嵌、乳胶漆、电线、灯具。此报价适用于地下室、卫生间、厨房或室外等潮湿区域。", Splits: []SplitItem{{Type: 木工, Price: 60}, 木工材料拆分}, }, { Name: "硅酸钙板造型吊顶(二级)", Type: 木工, Price: 210, Unit: "m²", Remark: "轻钢龙骨结构(局部木龙骨辅助),叠级或造型处9(±1)厘板或15(±1)厘大芯板打底,硅酸钙板拼接封面,按展开面积计算,不含批嵌、乳胶漆、电线、灯具。此报价适用于地下室、卫生间、厨房或室外等潮湿区域。", Splits: []SplitItem{{Type: 木工, Price: 60}, 木工材料拆分}, }, /*{ Name: "硅酸钙板造型吊顶(三级)", Type: 木工, Price: 198, Unit: "m²", Remark: "轻钢龙骨或木龙骨框架,叠级或造型处9(±1)厘板或15(±1)厘大芯板打底,硅酸钙板拼接封面,按展开面积计算,不含批嵌、乳胶漆、电线、灯具。此报价适用于地下室、卫生间、厨房或室外等潮湿区域。", Splits: []SplitItem{{Type: 木工, Price: 55}, 木工材料拆分}, },*/ { Name: "石膏包假梁", Type: 木工, Price: 115, Unit: "m", Remark: "夹板基础,刷防火涂料,纸面石膏板拼接封面,不含批灰和乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 45}, 木工材料拆分}, }, { Name: "天花2公分小裙边(下挂高度<15公分)", Type: 木工, Price: 33, Unit: "m", Remark: "双层纸面石膏板拼接封面,数量按米计算,不含批灰和乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 10}, 木工材料拆分}, }, { Name: "天花2公分小裙边(下挂高度15>20公分)", Type: 木工, Price: 38, Unit: "m", Remark: "双层纸面石膏板拼接封面,数量按米计算,不含批灰和乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 12}, 木工材料拆分}, }, { Name: "天花2公分小裙边(下挂高度20>25公分)", Type: 木工, Price: 43, Unit: "m", Remark: "双层纸面石膏板拼接封面,数量按米计算,不含批灰和乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 15}, 木工材料拆分}, }, { Name: "天花2公分小裙边(下挂高度25>30公分)", Type: 木工, Price: 48, Unit: "m", Remark: "双层纸面石膏板拼接封面,数量按米计算,不含批灰和乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 18}, 木工材料拆分}, }, { Name: "木制窗帘盒", Type: 木工, Price: 48, Unit: "m", Remark: "12(±1)厘夹板或15(±1)厘大芯板结构,高度小于250mm,宽度小于200mm,每增加100mm按10元计算。", Splits: []SplitItem{{Type: 木工, Price: 13}, 木工材料拆分}, }, { Name: "衣柜背板加封石膏板", Type: 木工, Price: 75, Unit: "m²", Remark: "衣柜背板加封石膏板,不含批灰乳胶漆。", Splits: []SplitItem{{Type: 木工, Price: 30}, 木工材料拆分}, }, { Name: "石膏板封门头", Type: 木工, Price: 98, Unit: "m", Remark: "18(±1)厘大芯板基础,面贴石膏板。含人工及材料,不足一米按一米计算(限高度500mm以内,超过按平方计算,不足1平方按1平方计算)。", Splits: []SplitItem{{Type: 木工, Price: 30}, 木工材料拆分}, }, } var 开关面板项 = []BuildItem{ { Name: "开关面板控额", Type: 开关面板, Price: 0, Unit: "位", Remark: "", Splits: []SplitItem{{ Type: 开关面板, PriceCalc: func(context *ItemContext) (float64, error) { prices := [][]float64{{9.8, 9.8, 8, 8, 5.5, 5.5, 5.5}, {9.8, 9.8, 9.8, 8, 8, 8, 5.5, 5.5, 5.5}} num := 65 if context.Pkg.RoomData.Pkg.Layout[0] > 2 { num += (context.Pkg.RoomData.Pkg.Layout[0] - 2) * 13 } if context.Pkg.RoomData.Pkg.Layout[3] > 1 { num += (context.Pkg.RoomData.Pkg.Layout[3] - 1) * 4 } if context.Pkg.RoomData.Pkg.Layout[4] > 1 { num += (context.Pkg.RoomData.Pkg.Layout[4] - 1) * 3 } return utils.FloatMul(prices[context.Region.Brand][context.Region.Series], float64(num), -1), nil }, }}, }, } var 防水项 = []BuildItem{ { Name: "卫生间地面防水", Type: 防水, Price: 68, Unit: "m²", Remark: "商业机密。", Splits: []SplitItem{{ Type: 防水, TotalCalc: func(context *ItemContext, number float64) (float64, error) { if context.Space.SinkBackfill { return 650, nil } return 550, nil }, }}, }, { Name: "卫生间墙面防水", Type: 防水, Price: 68, Unit: "m²", Remark: "商业机密。", Splits: []SplitItem{{ Type: 防水, Price: 0, }}, }, { Name: "阳台地面防水", Type: 防水, Price: 68, Unit: "m²", Remark: "商业机密。", Splits: []SplitItem{{ Type: 防水, TotalCalc: func(context *ItemContext, number float64) (float64, error) { if number < 5 { return 200, nil } return utils.FloatMul(number, 40, -1), nil }, }}, }, { Name: "阳台管口地漏防水处理", Type: 防水, Price: 200, Unit: "项", Remark: "商业机密。", Splits: []SplitItem{{ Type: 防水, Price: 50, }}, }, } var 其它项 = []BuildItem{ { Name: "地砖铺贴后成品保护", Type: 其他, Price: 10, Unit: "m²", Remark: "定制专用保护材料。按地砖铺贴面积计算", //Splits: []SplitItem{{Type: 其他, Price: 3.8}}, }, { Name: "复式楼、别墅架空脚手架", Type: 其他, Price: 500, Unit: "副", Remark: "按楼层计算,以二层500元为基准,每增加一层增加500元。", Splits: []SplitItem{{Type: 杂费, Price: 500}}, SpecialProject: true, }, { Name: "复式楼、别墅施工楼梯踏步制作", Type: 其他, Price: 500, Unit: "项", Remark: "按楼层计算,以二层500元为基准每增加一层增加500元(适用于施工现场无楼梯的复式楼、别墅)。", Splits: []SplitItem{{Type: 杂费, Price: 500}}, SpecialProject: true, }, { Name: "复式楼、别墅施工安全防护", Type: 其他, Price: 500, Unit: "项", Remark: "按楼层计算,以二层500元为基准每增加一层增加500元(复式楼、别墅必报项目)。", Splits: []SplitItem{{Type: 杂费, Price: 500}}, SpecialProject: true, }, { Name: "区域沙补差费用", Type: 其他, Price: 1, Unit: "项", Remark: "", Splits: []SplitItem{{Type: 沙石材料, Price: 1}}, SpecialProject: true, }, } var BuildItems = append(append(append(append(append(append(append(拆除项, 水电项...), 泥工项...), 油漆项...), 木工项...), 开关面板项...), 其它项...), 防水项...)