package bid import "zhiyuan/pkg/param/common" type CalcType struct { ID int `json:"id"` Name string `json:"name"` Param []CalcParam `json:"param"` } type CalcParam struct { Label string `json:"label"` Key string `json:"key"` ShowType string `json:"show_type"` DataType string `json:"data_type"` } type Category struct { ID int `json:"id"` Name string `json:"name"` Level int `json:"level"` } type CategoryGroup struct { ID int `json:"id"` Name string `json:"name"` CategoryIds []int `json:"category_ids"` } var Params = struct { Category []Category `json:"category"` CategoryGroup []CategoryGroup `json:"category_group"` CalcType []CalcType `json:"calc_type"` Level []common.Base `json:"level"` }{ Category: []Category{ {1, "套餐施工项", 1}, {2, "套餐主材项", 1}, {3, "施工增项", 2}, {4, "主材增项", 2}, {5, "主材减项", 2}, {6, "主材升级", 2}, {11, "设计费", 2}, {12, "定制品", 3}, {13, "家具", 3}, {14, "灯具", 3}, {15, "窗帘", 3}, {21, "定制品成本", 3}, {22, "家具成本", 3}, {23, "灯具成本", 3}, {24, "窗帘成本", 3}, {25, "活动奖品成本", 3}, {26, "定金抵扣", 3}, {27, "家电成本", 3}, {30, "卫生间施工项", 4}, {31, "卫生间主材项", 4}, }, CategoryGroup: []CategoryGroup{ {1, "套餐内项目", []int{1, 2}}, {3, "施工增项", []int{3}}, {4, "主材增项", []int{4}}, {5, "主材减项", []int{5}}, {6, "主材升级", []int{6}}, {11, "设计费", []int{11}}, {12, "全包项目", []int{12, 13, 14, 15}}, {21, "套餐外成本", []int{21, 22, 23, 24, 25, 26, 27}}, {30, "额外卫生间", []int{30, 31}}, }, Level: []common.Base{ {1, "套餐内"}, {2, "个性化"}, }, CalcType: []CalcType{ {1, "地面面积*单价", []CalcParam{}}, {5, "可变数*单价", []CalcParam{}}, {19, "可变数*损耗系数*单价", []CalcParam{ {"损耗系数", "loss_rate", "text", "float"}, }}, {3, "可变数*建筑面积", []CalcParam{}}, {2, "固定数*单价", []CalcParam{ {"固定数", "fix_num", "text", "float"}, }}, {10, "门洞*单价", []CalcParam{}}, {16, "窗宽*单价", []CalcParam{}}, {11, "地面周长*单价", []CalcParam{}}, {20, "地面周长*损耗系数*单价", []CalcParam{ {"损耗系数", "loss_rate", "text", "float"}, }}, {21, "客餐厅地面周长*损耗系数*单价", []CalcParam{ {"损耗系数", "loss_rate", "text", "float"}, }}, {24, "(地面周长-固定数)*损耗系数*单价", []CalcParam{ {"损耗系数", "loss_rate", "text", "float"}, {"固定数", "fix_num", "text", "float"}, }}, {18, "客餐厅地面周长*单价", []CalcParam{}}, {12, "门洞周长*单价", []CalcParam{ {"门洞高度", "hole_height", "text", "float"}, }}, {13, "门洞面积*单价", []CalcParam{ {"门洞高度", "hole_height", "text", "float"}, }}, {4, "墙面面积*单价", []CalcParam{ {"门洞高度", "hole_height", "text", "float"}, {"墙面高度", "wall_height", "text", "float"}, }}, {9, "(地面面积+墙面面积-窗面积)*单价", []CalcParam{ {"墙面高度", "wall_height", "text", "float"}, {"门洞高度", "hole_height", "text", "float"}, {"窗户高度", "window_height", "text", "float"}, }}, {26, "(墙面面积-窗户面积)*单价", []CalcParam{ {"墙面高度", "wall_height", "text", "float"}, {"门洞高度", "hole_height", "text", "float"}, {"窗户高度", "window_height", "text", "float"}, }}, {17, "(地面面积+客餐厅墙面面积-窗面积)*单价", []CalcParam{ {"墙面高度", "wall_height", "text", "float"}, {"门洞高度", "hole_height", "text", "float"}, {"窗户高度", "window_height", "text", "float"}, }}, {19, "(客餐厅墙面面积-窗面积)*单价", []CalcParam{ {"墙面高度", "wall_height", "text", "float"}, {"门洞高度", "hole_height", "text", "float"}, {"窗户高度", "window_height", "text", "float"}, }}, {8, "全房面积*单价", []CalcParam{}}, {14, "墙面面积*损耗系数*单价", []CalcParam{ {"墙面高度", "wall_height", "text", "float"}, {"门洞高度", "hole_height", "text", "float"}, {"损耗系数", "loss_rate", "text", "float"}, }}, {6, "地面面积*损耗系数*单价", []CalcParam{ {"损耗系数", "loss_rate", "text", "float"}, }}, {7, "基础房间*房间单价", []CalcParam{ {"基础房间数", "room_num", "text", "int"}, {"基础卫生间数", "toilet_num", "text", "int"}, {"基础厨房数", "kitchen_num", "text", "int"}, {"基础客餐厅数", "restaurant_num", "text", "int"}, {"基础金额", "base_money", "text", "float"}, {"增加房间金额", "add_room_money", "text", "float"}, {"增加卫生金额", "add_toilet_money", "text", "float"}, {"增加厨房金额", "add_kitchen_money", "text", "float"}, {"增加客餐厅金额", "add_restaurant__money", "text", "float"}, }}, {15, "窗台石面积*单价", []CalcParam{}}, {22, "定制品面积*单价", []CalcParam{}}, {23, "定制品面积*损耗系数*单价", []CalcParam{ {"损耗系数", "loss_rate", "text", "float"}, }}, {25, "(阳台墙面面积-阳台窗户面积)*单价", []CalcParam{ {"墙面高度", "wall_height", "text", "float"}, {"门洞高度", "hole_height", "text", "float"}, {"窗户高度", "window_height", "text", "float"}, }}, {27, "阳台地面面积*单价", []CalcParam{}}, {28, "阳台门洞周长*单价", []CalcParam{ {"门洞高度", "hole_height", "text", "float"}, }}, {29, "(墙面面积-窗户面积)*损耗系数*单价", []CalcParam{ {"墙面高度", "wall_height", "text", "float"}, {"门洞高度", "hole_height", "text", "float"}, {"窗户高度", "window_height", "text", "float"}, {"损耗系数", "loss_rate", "text", "float"}, }}, {30, "(地面周长+门洞)*单价", []CalcParam{}}, {31, "(阳台墙面面积-阳台窗户面积)*损耗系数*单价", []CalcParam{ {"墙面高度", "wall_height", "text", "float"}, {"门洞高度", "hole_height", "text", "float"}, {"窗户高度", "window_height", "text", "float"}, {"损耗系数", "loss_rate", "text", "float"}, }}, {32, "最小地面周长*损耗系数*单价", []CalcParam{ {"最小值", "fix_num", "text", "float"}, {"损耗系数", "loss_rate", "text", "float"}, }}, }, } func GetCategoryMap() map[int]Category { categoryMap := make(map[int]Category) for _, v := range Params.Category { categoryMap[v.ID] = v } return categoryMap } func GetCalcTypeMap() map[int]CalcType { calcMap := make(map[int]CalcType) for _, v := range Params.CalcType { calcMap[v.ID] = v } return calcMap }