1.打开表面处理界面

# 表面处理 打开界面接口
ui_dialog = DFC::Common::SurfaceTreatment::IndexDialog.new
ui_dialog.set_params({ ui_data_hash: '恢复所需数据 Hash', method: :attr_define })
ui_dialog.event do |ev, ui_data|
  case ev
  when :confirm
    puts '-----------'
    dfc_dd ui_data
  when :close
    puts '窗口已关闭'
  end
end
ui_dialog.show

2.表面处理物料接口

# ui_data 数据格式为 Hash
material_hash = DFC::Common::SurfaceTreatment.material_info(ui_data)
# ->
# {
#   "新建": {
#     "主材": {
#     },
#     "辅材": {
#       "SYS_878C2A161B8552DEDAF6C9CA3DAF3542_lib_1602582472667": {
#         "01": {
#           "value": "133.135",
#           "unit": "kg"
#         }
#       }
#     }
#   },
#   "原有": {
#     "主材": {
#     },
#     "辅材": {
#     }
#   }
# }

3.表面处理属性接口

# ui_data 数据格式为 Hash
attr_hash = DFC::Common::SurfaceTreatment.attribute_tool(ui_data)
# ->
# {
#   "金属面-防火涂料-超薄型防火涂料-0.5h/0.5mm": {
#     "项目名称": "金属面-防火涂料-超薄型防火涂料-0.5h/0.5mm",
#     "项目界限": "新建",
#     "清单量": "123 m²",
#     "金属面防火涂料": "物料名称:401胶水\n物料型号:01\n物料统计:133.135 kg",
#     "项目特征": "喷刷防火涂料构件名称:\n防火等级要求:\n涂料品种、喷刷遍数:"
#   }
# }

4.表面处理清单接口

# ui_data 数据格式为 Hash
list_arr = DFC::Common::SurfaceTreatment.quota(ui_data)
# ->
# [
#   {
#     "项目编码": "011407005",
#     "项目名称": "金属面-防火涂料-超薄型防火涂料-0.5h/0.5mm",
#     "项目界限": "新建",
#     "清单量": {
#       "m²": "123"
#     },
#     "项目特征": [
#       [
#         "喷刷防火涂料构件名称",
#         ""
#       ],
#       [
#         "防火等级要求",
#         ""
#       ],
#       [
#         "涂料品种、喷刷遍数",
#         ""
#       ]
#     ],
#     "物料": [
#       {
#         "金属面防火涂料": {
#           "设定甲供": false,
#           "设定主材": false,
#           "名称": "401胶水",
#           "id": "SYS_878C2A161B8552DEDAF6C9CA3DAF3542_lib_1602582472667",
#           "型号": "01"
#         },
#         "物料统计": {
#           "单位": "kg",
#           "值": 133.135
#         }
#       }
#     ],
#     "人工": [
#       {
#         "名称": "油漆工",
#         "工日": 0.03
#       },
#       {
#         "名称": "其他工",
#         "工日": 0.0015
#       }
#     ],
#     "材料系数": 1,
#     "机械系数": 1
#   }
# ]

5.更新表面处理全局物料

# ui_data 数据格式为 Hash
ui_data = DFC::Common::SurfaceTreatment.update_global_materials(ui_data)