Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改设备基础参数
This commit is contained in:
@@ -23,6 +23,36 @@ class FunctionalCuttingTool(models.Model):
|
||||
name = fields.Char('名称')
|
||||
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
|
||||
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号')
|
||||
|
||||
# 整体式刀具型号
|
||||
mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_integral_model_functional_sf',
|
||||
string='整体式刀具型号', domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '整体式刀具')])
|
||||
# 刀片型号
|
||||
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_blade_model_functional_sf',
|
||||
string='刀片型号', domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀片')])
|
||||
# 刀杆型号
|
||||
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||
'rel_cutterbar_model_functional_sf',
|
||||
string='刀杆型号', domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀杆')])
|
||||
# 刀盘型号
|
||||
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||
'rel_cutterpad_model_functional_sf',
|
||||
string='刀盘型号', domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀盘')])
|
||||
# 刀柄型号
|
||||
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||
'rel_cutterhandle_model_functional_sf', string='刀柄型号',
|
||||
domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀柄')])
|
||||
# 夹头型号
|
||||
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||
'rel_cutterhead_model_functional_sf',
|
||||
string='夹头型号', domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '夹头')])
|
||||
|
||||
diameter = fields.Float('直径(mm)')
|
||||
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
|
||||
string='刀具等级')
|
||||
@@ -36,6 +66,13 @@ class FunctionalCuttingTool(models.Model):
|
||||
applicable_range = fields.Char('适用范围')
|
||||
image = fields.Binary('图片')
|
||||
|
||||
def _get_functional_tool_model_ids(self, functional_tool_model_code):
|
||||
functional_tool_model_ids = []
|
||||
for item in functional_tool_model_code:
|
||||
functional_tool_model = self.env['sf.cutting.tool.model'].search([('code', '=', item)])
|
||||
functional_tool_model_ids.append(functional_tool_model.id)
|
||||
return [(6, 0, functional_tool_model_ids)]
|
||||
|
||||
|
||||
# 功能刀具类型
|
||||
class FunctionalCuttingToolModel(models.Model):
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
id="menu_sf_functional_cutting_tool"
|
||||
parent="menu_sf_cutting_tool"
|
||||
name="功能刀具"
|
||||
sequence="4"
|
||||
sequence="5"
|
||||
action="action_sf_functional_cutting_tool"
|
||||
/>
|
||||
<!-- 功能刀具类型 -->
|
||||
@@ -82,7 +82,7 @@
|
||||
id="menu_sf_functional_cutting_tool_model_type"
|
||||
parent="menu_sf_cutting_tool"
|
||||
name="功能刀具类型"
|
||||
sequence="5"
|
||||
sequence="4"
|
||||
action="action_sf_functional_cutting_tool_model_type"
|
||||
/>
|
||||
</data>
|
||||
|
||||
@@ -58,6 +58,12 @@
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="mrs_cutting_tool_type_id"/>
|
||||
<field name="mrs_cutting_tool_integral_model_ids" optional="hide"/>
|
||||
<field name="mrs_cutting_tool_blade_model_ids" optional="hide"/>
|
||||
<field name="mrs_cutting_tool_cutterbar_model_ids" optional="hide"/>
|
||||
<field name="mrs_cutting_tool_cutterpad_model_ids" optional="hide"/>
|
||||
<field name="mrs_cutting_tool_cutterhandle_model_ids" optional="hide"/>
|
||||
<field name="mrs_cutting_tool_cutterhead_model_ids" optional="hide"/>
|
||||
<field name="image" widget='image'/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -72,10 +78,16 @@
|
||||
<group col='1'>
|
||||
<group string='基本信息'>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="mrs_cutting_tool_type_id" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
<field name="mrs_cutting_tool_model_id" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="mrs_cutting_tool_type_id" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
<field name="mrs_cutting_tool_model_id" options="{'no_create': True, 'no_quick_create': True}" attrs="{'invisible': True}"/>
|
||||
<field name="mrs_cutting_tool_integral_model_ids" options="{'no_create': True, 'no_quick_create': True}" widget="many2many_tags"/>
|
||||
<field name="mrs_cutting_tool_blade_model_ids" options="{'no_create': True, 'no_quick_create': True}" widget="many2many_tags"/>
|
||||
<field name="mrs_cutting_tool_cutterbar_model_ids" options="{'no_create': True, 'no_quick_create': True}" widget="many2many_tags"/>
|
||||
<field name="mrs_cutting_tool_cutterpad_model_ids" options="{'no_create': True, 'no_quick_create': True}" widget="many2many_tags"/>
|
||||
<field name="mrs_cutting_tool_cutterhandle_model_ids" options="{'no_create': True, 'no_quick_create': True}" widget="many2many_tags"/>
|
||||
<field name="mrs_cutting_tool_cutterhead_model_ids" options="{'no_create': True, 'no_quick_create': True}" widget="many2many_tags"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="image" nolabel="1" widget="image"/>
|
||||
|
||||
@@ -815,7 +815,7 @@ class MachineToolType(models.Model):
|
||||
[('code', '=', item['control_system_id'])]).id,
|
||||
"active": item['active'],
|
||||
'brand_id': self.env['sf.machine.brand'].search([('code', '=', item['brand_id'])]).id,
|
||||
'machine_tool_picture':image,
|
||||
'machine_tool_picture': image,
|
||||
"heightened_way": item['heightened_way'],
|
||||
"workpiece_load": item['workpiece_load'],
|
||||
"lead_screw": item['lead_screw'],
|
||||
@@ -1186,9 +1186,21 @@ class sfSyncFunctional_cutting_tool(models.Model):
|
||||
# 功能刀具类型
|
||||
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
||||
[('code', '=', item['mrs_cutting_tool_type_id'])]).id,
|
||||
# 刀具型号
|
||||
"mrs_cutting_tool_model_id": self.env['sf.cutting.tool.model'].search(
|
||||
[('code', '=', item['mrs_cutting_tool_model_id'])]).id,
|
||||
# # 刀具型号
|
||||
# "mrs_cutting_tool_model_id": self.env['sf.cutting.tool.model'].search(
|
||||
# [('code', '=', item['mrs_cutting_tool_model_id'])]).id,
|
||||
"mrs_cutting_tool_integral_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_integral_model_ids']),
|
||||
"mrs_cutting_tool_blade_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_blade_model_ids']),
|
||||
"mrs_cutting_tool_cutterbar_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterbar_model_ids']),
|
||||
"mrs_cutting_tool_cutterpad_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterpad_model_ids']),
|
||||
"mrs_cutting_tool_cutterhandle_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterhandle_model_ids']),
|
||||
"mrs_cutting_tool_cutterhead_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterhead_model_ids']),
|
||||
"diameter": item['diameter'],
|
||||
"tool_grade": item['tool_grade'],
|
||||
"machining_accuracy": item['machining_accuracy'],
|
||||
@@ -1209,9 +1221,18 @@ class sfSyncFunctional_cutting_tool(models.Model):
|
||||
# 功能刀具类型
|
||||
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
||||
[('code', '=', item['mrs_cutting_tool_type_id'])]).id,
|
||||
# 刀具型号
|
||||
"mrs_cutting_tool_model_id": self.env['sf.cutting.tool.model'].search(
|
||||
[('code', '=', item['mrs_cutting_tool_model_id'])]).id,
|
||||
"mrs_cutting_tool_integral_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_integral_model_ids']),
|
||||
"mrs_cutting_tool_blade_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_blade_model_ids']),
|
||||
"mrs_cutting_tool_cutterbar_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterbar_model_ids']),
|
||||
"mrs_cutting_tool_cutterpad_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterpad_model_ids']),
|
||||
"mrs_cutting_tool_cutterhandle_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterhandle_model_ids']),
|
||||
"mrs_cutting_tool_cutterhead_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterhead_model_ids']),
|
||||
"diameter": item['diameter'],
|
||||
"tool_grade": item['tool_grade'],
|
||||
"machining_accuracy": item['machining_accuracy'],
|
||||
@@ -1257,9 +1278,18 @@ class sfSyncFunctional_cutting_tool(models.Model):
|
||||
# 功能刀具类型
|
||||
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
||||
[('code', '=', item['mrs_cutting_tool_type_id'])]).id,
|
||||
# 刀具型号
|
||||
"mrs_cutting_tool_model_id": self.env['sf.cutting.tool.model'].search(
|
||||
[('code', '=', item['mrs_cutting_tool_model_id'])]).id,
|
||||
"mrs_cutting_tool_integral_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_integral_model_ids']),
|
||||
"mrs_cutting_tool_blade_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_blade_model_ids']),
|
||||
"mrs_cutting_tool_cutterbar_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterbar_model_ids']),
|
||||
"mrs_cutting_tool_cutterpad_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterpad_model_ids']),
|
||||
"mrs_cutting_tool_cutterhandle_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterhandle_model_ids']),
|
||||
"mrs_cutting_tool_cutterhead_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterhead_model_ids']),
|
||||
"diameter": item['diameter'],
|
||||
"tool_grade": item['tool_grade'],
|
||||
"machining_accuracy": item['machining_accuracy'],
|
||||
@@ -1280,9 +1310,18 @@ class sfSyncFunctional_cutting_tool(models.Model):
|
||||
# 功能刀具类型
|
||||
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
||||
[('code', '=', item['mrs_cutting_tool_type_id'])]).id,
|
||||
# 刀具型号
|
||||
"mrs_cutting_tool_model_id": self.env['sf.cutting.tool.model'].search(
|
||||
[('code', '=', item['mrs_cutting_tool_model_id'])]).id,
|
||||
"mrs_cutting_tool_integral_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_integral_model_ids']),
|
||||
"mrs_cutting_tool_blade_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_blade_model_ids']),
|
||||
"mrs_cutting_tool_cutterbar_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterbar_model_ids']),
|
||||
"mrs_cutting_tool_cutterpad_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterpad_model_ids']),
|
||||
"mrs_cutting_tool_cutterhandle_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterhandle_model_ids']),
|
||||
"mrs_cutting_tool_cutterhead_model_ids": self._get_functional_tool_model_ids(
|
||||
item['mrs_cutting_tool_cutterhead_model_ids']),
|
||||
"diameter": item['diameter'],
|
||||
"tool_grade": item['tool_grade'],
|
||||
"machining_accuracy": item['machining_accuracy'],
|
||||
@@ -1561,7 +1600,7 @@ class SyncFixtureModel(models.Model):
|
||||
"materials_model_id": self.env['sf.materials.model'].search(
|
||||
[('materials_no', '=', item['materials_model_code'])]).id,
|
||||
"driving_way": item['driving_way'],
|
||||
"apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
|
||||
"apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
|
||||
[('code', '=', item['apply_machine_tool_type_code'])]).id,
|
||||
"through_hole_size": item['through_hole_size'],
|
||||
"screw_size": item['screw_size'],
|
||||
@@ -1590,7 +1629,7 @@ class SyncFixtureModel(models.Model):
|
||||
"materials_model_id": self.env['sf.materials.model'].search(
|
||||
[('materials_no', '=', item['materials_model_code'])]).id,
|
||||
"driving_way": item['driving_way'],
|
||||
"apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
|
||||
"apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
|
||||
[('code', '=', item['apply_machine_tool_type_code'])]).id,
|
||||
"through_hole_size": item['through_hole_size'],
|
||||
"screw_size": item['screw_size'],
|
||||
@@ -1641,7 +1680,7 @@ class SyncFixtureModel(models.Model):
|
||||
"materials_model_id": self.env['sf.materials.model'].search(
|
||||
[('materials_no', '=', item['materials_model_code'])]).id,
|
||||
"driving_way": item['driving_way'],
|
||||
"apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
|
||||
"apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
|
||||
[('code', '=', item['apply_machine_tool_type_code'])]).id,
|
||||
"through_hole_size": item['through_hole_size'],
|
||||
"screw_size": item['screw_size'],
|
||||
@@ -1670,7 +1709,7 @@ class SyncFixtureModel(models.Model):
|
||||
"materials_model_id": self.env['sf.materials.model'].search(
|
||||
[('materials_no', '=', item['materials_model_code'])]).id,
|
||||
"driving_way": item['driving_way'],
|
||||
"apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
|
||||
"apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
|
||||
[('code', '=', item['apply_machine_tool_type_code'])]).id,
|
||||
"through_hole_size": item['through_hole_size'],
|
||||
"screw_size": item['screw_size'],
|
||||
@@ -1983,14 +2022,14 @@ class SfToolModel(models.Model):
|
||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list = []
|
||||
if item.get('mrs_cutting_tool_model_blade_cutter_bar_ids'):
|
||||
for mrs_cutting_tool_model_blade_cutter_bar_id in item[
|
||||
'mrs_cutting_tool_model_blade_cutter_bar_ids']:
|
||||
'mrs_cutting_tool_model_blade_cutter_bar_ids']:
|
||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list.append(
|
||||
self.env['sf.cutting.tool.model'].search(
|
||||
[("code", '=', mrs_cutting_tool_model_blade_cutter_bar_id)]).id)
|
||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list = []
|
||||
if item.get('mrs_cutting_tool_model_blade_cutter_pad_ids'):
|
||||
for mrs_cutting_tool_model_blade_cutter_pad_id in item[
|
||||
'mrs_cutting_tool_model_blade_cutter_pad_ids']:
|
||||
'mrs_cutting_tool_model_blade_cutter_pad_ids']:
|
||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list.append(
|
||||
self.env['sf.cutting.tool.model'].search(
|
||||
[("code", '=', mrs_cutting_tool_model_blade_cutter_pad_id)]).id)
|
||||
@@ -2007,14 +2046,14 @@ class SfToolModel(models.Model):
|
||||
mrs_cutting_tool_model_handle_chuck_model_ids_list = []
|
||||
if item.get('mrs_cutting_tool_model_handle_chuck_model_ids'):
|
||||
for mrs_cutting_tool_model_handle_chuck_model_id in item[
|
||||
'mrs_cutting_tool_model_handle_chuck_model_ids']:
|
||||
'mrs_cutting_tool_model_handle_chuck_model_ids']:
|
||||
mrs_cutting_tool_model_handle_chuck_model_ids_list.append(
|
||||
self.env['sf.cutting.tool.model'].search(
|
||||
[("code", '=', mrs_cutting_tool_model_handle_chuck_model_id)]).id)
|
||||
mrs_cutting_tool_model_chuck_handle_model_ids_list = []
|
||||
if item.get('mrs_cutting_tool_model_chuck_handle_model_ids'):
|
||||
for mrs_cutting_tool_model_chuck_handle_model_id in item[
|
||||
'mrs_cutting_tool_model_chuck_handle_model_ids']:
|
||||
'mrs_cutting_tool_model_chuck_handle_model_ids']:
|
||||
mrs_cutting_tool_model_chuck_handle_model_ids_list.append(
|
||||
self.env['sf.cutting.tool.model'].search(
|
||||
[("code", '=', mrs_cutting_tool_model_chuck_handle_model_id)]).id)
|
||||
@@ -2061,8 +2100,10 @@ class SfToolModel(models.Model):
|
||||
"blade_hardness": item['blade_hardness'],
|
||||
"blade_radius": item['blade_radius'],
|
||||
"blade_nut": item['blade_nut'],
|
||||
"mrs_cutting_tool_model_blade_cutter_bar_ids": mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_pad_ids": mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_bar_ids":
|
||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_pad_ids":
|
||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
||||
"bar_code": item['bar_code'],
|
||||
"bar_c_diameter": item['bar_c_diameter'],
|
||||
"bar_total_length": item['bar_total_length'],
|
||||
@@ -2111,7 +2152,8 @@ class SfToolModel(models.Model):
|
||||
"chuck_inner_diameter": item['chuck_inner_diameter'],
|
||||
"chuck_height": item['chuck_height'],
|
||||
"chuck_nut": item['chuck_nut'],
|
||||
"mrs_cutting_tool_model_chuck_handle_model_ids": mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
||||
"mrs_cutting_tool_model_chuck_handle_model_ids":
|
||||
mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
||||
"chuck_clamping_range": item['chuck_clamping_range'],
|
||||
"chuck_feature": item['chuck_feature'],
|
||||
"image": image,
|
||||
@@ -2168,8 +2210,10 @@ class SfToolModel(models.Model):
|
||||
"blade_hardness": item['blade_hardness'],
|
||||
"blade_radius": item['blade_radius'],
|
||||
"blade_nut": item['blade_nut'],
|
||||
"mrs_cutting_tool_model_blade_cutter_bar_ids": mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_pad_ids": mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_bar_ids":
|
||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_pad_ids":
|
||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
||||
"bar_code": item['bar_code'],
|
||||
"bar_c_diameter": item['bar_c_diameter'],
|
||||
"bar_total_length": item['bar_total_length'],
|
||||
@@ -2218,7 +2262,8 @@ class SfToolModel(models.Model):
|
||||
"chuck_inner_diameter": item['chuck_inner_diameter'],
|
||||
"chuck_height": item['chuck_height'],
|
||||
"chuck_nut": item['chuck_nut'],
|
||||
"mrs_cutting_tool_model_chuck_handle_model_ids": mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
||||
"mrs_cutting_tool_model_chuck_handle_model_ids":
|
||||
mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
||||
"chuck_clamping_range": item['chuck_clamping_range'],
|
||||
"chuck_feature": item['chuck_feature'],
|
||||
"image": image,
|
||||
@@ -2261,14 +2306,14 @@ class SfToolModel(models.Model):
|
||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list = []
|
||||
if item.get('mrs_cutting_tool_model_blade_cutter_bar_ids'):
|
||||
for mrs_cutting_tool_model_blade_cutter_bar_id in item[
|
||||
'mrs_cutting_tool_model_blade_cutter_bar_ids']:
|
||||
'mrs_cutting_tool_model_blade_cutter_bar_ids']:
|
||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list.append(
|
||||
self.env['sf.cutting.tool.model'].search(
|
||||
[("code", '=', mrs_cutting_tool_model_blade_cutter_bar_id)]).id)
|
||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list = []
|
||||
if item.get('mrs_cutting_tool_model_blade_cutter_pad_ids'):
|
||||
for mrs_cutting_tool_model_blade_cutter_pad_id in item[
|
||||
'mrs_cutting_tool_model_blade_cutter_pad_ids']:
|
||||
'mrs_cutting_tool_model_blade_cutter_pad_ids']:
|
||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list.append(
|
||||
self.env['sf.cutting.tool.model'].search(
|
||||
[("code", '=', mrs_cutting_tool_model_blade_cutter_pad_id)]).id)
|
||||
@@ -2285,14 +2330,14 @@ class SfToolModel(models.Model):
|
||||
mrs_cutting_tool_model_handle_chuck_model_ids_list = []
|
||||
if item.get('mrs_cutting_tool_model_handle_chuck_model_ids'):
|
||||
for mrs_cutting_tool_model_handle_chuck_model_id in item[
|
||||
'mrs_cutting_tool_model_handle_chuck_model_ids']:
|
||||
'mrs_cutting_tool_model_handle_chuck_model_ids']:
|
||||
mrs_cutting_tool_model_handle_chuck_model_ids_list.append(
|
||||
self.env['sf.cutting.tool.model'].search(
|
||||
[("code", '=', mrs_cutting_tool_model_handle_chuck_model_id)]).id)
|
||||
mrs_cutting_tool_model_chuck_handle_model_ids_list = []
|
||||
if item.get('mrs_cutting_tool_model_chuck_handle_model_ids'):
|
||||
for mrs_cutting_tool_model_chuck_handle_model_id in item[
|
||||
'mrs_cutting_tool_model_chuck_handle_model_ids']:
|
||||
'mrs_cutting_tool_model_chuck_handle_model_ids']:
|
||||
mrs_cutting_tool_model_chuck_handle_model_ids_list.append(
|
||||
self.env['sf.cutting.tool.model'].search(
|
||||
[("code", '=', mrs_cutting_tool_model_chuck_handle_model_id)]).id)
|
||||
@@ -2339,8 +2384,10 @@ class SfToolModel(models.Model):
|
||||
"blade_hardness": item['blade_hardness'],
|
||||
"blade_radius": item['blade_radius'],
|
||||
"blade_nut": item['blade_nut'],
|
||||
"mrs_cutting_tool_model_blade_cutter_bar_ids": mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_pad_ids": mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_bar_ids":
|
||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_pad_ids":
|
||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
||||
"bar_code": item['bar_code'],
|
||||
"bar_c_diameter": item['bar_c_diameter'],
|
||||
"bar_total_length": item['bar_total_length'],
|
||||
@@ -2388,7 +2435,8 @@ class SfToolModel(models.Model):
|
||||
"chuck_inner_diameter": item['chuck_inner_diameter'],
|
||||
"chuck_height": item['chuck_height'],
|
||||
"chuck_nut": item['chuck_nut'],
|
||||
"mrs_cutting_tool_model_chuck_handle_model_ids": mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
||||
"mrs_cutting_tool_model_chuck_handle_model_ids":
|
||||
mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
||||
"chuck_clamping_range": item['chuck_clamping_range'],
|
||||
"chuck_feature": item['chuck_feature'],
|
||||
"image": image,
|
||||
@@ -2441,8 +2489,10 @@ class SfToolModel(models.Model):
|
||||
"blade_hardness": item['blade_hardness'],
|
||||
"blade_radius": item['blade_radius'],
|
||||
"blade_nut": item['blade_nut'],
|
||||
"mrs_cutting_tool_model_blade_cutter_bar_ids": mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_pad_ids": mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_bar_ids":
|
||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
||||
"mrs_cutting_tool_model_blade_cutter_pad_ids":
|
||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
||||
"bar_code": item['bar_code'],
|
||||
"bar_c_diameter": item['bar_c_diameter'],
|
||||
"bar_total_length": item['bar_total_length'],
|
||||
@@ -2491,7 +2541,8 @@ class SfToolModel(models.Model):
|
||||
"chuck_inner_diameter": item['chuck_inner_diameter'],
|
||||
"chuck_height": item['chuck_height'],
|
||||
"chuck_nut": item['chuck_nut'],
|
||||
"mrs_cutting_tool_model_chuck_handle_model_ids": mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
||||
"mrs_cutting_tool_model_chuck_handle_model_ids":
|
||||
mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
||||
"chuck_clamping_range": item['chuck_clamping_range'],
|
||||
"chuck_feature": item['chuck_feature'],
|
||||
"image": image,
|
||||
|
||||
@@ -112,7 +112,6 @@ class WorkLogSetting(models.Model):
|
||||
创建记录时,生成工作日历
|
||||
"""
|
||||
record = super(WorkLogSetting, self).create(vals)
|
||||
logging.info("工作日历设置【新建】记录时,创建工作日历记录!!!")
|
||||
record.generate_work_calendar()
|
||||
return record
|
||||
|
||||
@@ -123,7 +122,6 @@ class WorkLogSetting(models.Model):
|
||||
# 先删除之前创建的工作日历事件记录
|
||||
self.env['sf.work.schedule.calendar'].search([('calendar_code', '=', self.code)]).unlink()
|
||||
result = super(WorkLogSetting, self).write(vals)
|
||||
logging.info("工作日历设置【更新】记录时,创建工作日历记录!!!")
|
||||
self.generate_work_calendar()
|
||||
return result
|
||||
|
||||
@@ -131,28 +129,66 @@ class WorkLogSetting(models.Model):
|
||||
"""
|
||||
生成工作日历
|
||||
"""
|
||||
logging.info('开始创建工作日历记录')
|
||||
self.ensure_one()
|
||||
# start_date = date.today() # 开始日期
|
||||
# end_date = start_date + timedelta(days=365) # 结束日期
|
||||
# 获取本年第一天和最后一天
|
||||
start_date = datetime.now().replace(month=1, day=1).date()
|
||||
end_date = datetime.now().replace(month=1, day=31).date()
|
||||
logging.info(f'start_date: {start_date} , end_date: {end_date}')
|
||||
end_date = datetime.now().replace(month=12, day=31).date()
|
||||
# 休息日列表
|
||||
rest_days = self.day_off_ids.mapped('name')
|
||||
logging.info(f'获取界面输入的休息日:{rest_days}')
|
||||
rest_days = self.chinese_weekdays_to_english(self.day_off_ids.mapped('name'))
|
||||
for single_date in self.daterange(start_date, end_date):
|
||||
is_workday = single_date.strftime("%A")
|
||||
logging.info(f'获取一月份每天的星期:{is_workday}')
|
||||
is_workday = self.chinese_weekday_to_english(single_date.strftime("%A"))
|
||||
logging.info(f"每天的星期:{is_workday}")
|
||||
if is_workday in rest_days:
|
||||
print('is_workday in rest_days', is_workday)
|
||||
self.env['sf.work.schedule.calendar'].sudo().create({
|
||||
'name': '休息日',
|
||||
'name_id': self.id,
|
||||
'date_time': single_date})
|
||||
logging.info('创建一条工作日历记录,休息时间: %s' % is_workday)
|
||||
logging.info('工作日历记录创建完成')
|
||||
|
||||
@staticmethod
|
||||
def chinese_weekdays_to_english(chinese_weekdays):
|
||||
"""
|
||||
将元组的中文星期转换成英文
|
||||
:param chinese_weekdays:
|
||||
:return:
|
||||
"""
|
||||
weekdays = {
|
||||
'星期一': 'Monday',
|
||||
'星期二': 'Tuesday',
|
||||
'星期三': 'Wednesday',
|
||||
'星期四': 'Thursday',
|
||||
'星期五': 'Friday',
|
||||
'星期六': 'Saturday',
|
||||
'星期日': 'Sunday'
|
||||
}
|
||||
english_weekdays = []
|
||||
for chinese_weekday in chinese_weekdays:
|
||||
english_weekday = weekdays.get(chinese_weekday, 'Invalid weekday')
|
||||
english_weekdays.append(english_weekday)
|
||||
return english_weekdays
|
||||
|
||||
@staticmethod
|
||||
def chinese_weekday_to_english(chinese_weekday):
|
||||
"""
|
||||
将单个的中文星期转换成英文
|
||||
:param chinese_weekday:
|
||||
:return:
|
||||
"""
|
||||
weekdays = {
|
||||
'星期一': 'Monday',
|
||||
'星期二': 'Tuesday',
|
||||
'星期三': 'Wednesday',
|
||||
'星期四': 'Thursday',
|
||||
'星期五': 'Friday',
|
||||
'星期六': 'Saturday',
|
||||
'星期日': 'Sunday'
|
||||
}
|
||||
weekday = weekdays.get(chinese_weekday)
|
||||
if weekday:
|
||||
return weekday
|
||||
return chinese_weekday
|
||||
|
||||
@staticmethod
|
||||
def daterange(start_date, end_date):
|
||||
@@ -202,13 +238,13 @@ class DayOff(models.Model):
|
||||
_description = '休息日'
|
||||
|
||||
name = fields.Selection([
|
||||
('星期一', '星期一'),
|
||||
('星期二', '星期二'),
|
||||
('星期三', '星期三'),
|
||||
('星期四', '星期四'),
|
||||
('星期五', '星期五'),
|
||||
('星期六', '星期六'),
|
||||
('星期日', '星期日')], '休息日名称')
|
||||
('Monday ', '星期一'),
|
||||
('Tuesday ', '星期二'),
|
||||
('Wednesday ', '星期三'),
|
||||
('Thursday ', '星期四'),
|
||||
('Friday ', '星期五'),
|
||||
('Saturday ', '星期六'),
|
||||
('Sunday ', '星期日')], '休息日名称')
|
||||
|
||||
|
||||
class WorkScheduleCalendar(models.Model):
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
<field name="is_standard" optional="show"/>
|
||||
<field name="applicable_range" optional="show"/>
|
||||
<field name="image" widget='image' optional="show"/>
|
||||
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -126,20 +125,18 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<!-- <field name="order"/>-->
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="mrs_cutting_tool_type_id"/>
|
||||
<field name="mrs_cutting_tool_model_id"/>
|
||||
<field name="diameter" optional="hide"/>
|
||||
<field name="tool_grade" optional="hide"/>
|
||||
<field name="machining_accuracy" optional="hide"/>
|
||||
<field name="tool_length" optional="hide"/>
|
||||
<field name="blade_number" optional="hide"/>
|
||||
<field name="integral_blade_length" optional="hide"/>
|
||||
<field name="effective_blade_length" optional="hide"/>
|
||||
<field name="max_life" optional="hide"/>
|
||||
<field name="is_standard" optional="hide"/>
|
||||
<field name="applicable_range" optional="hide"/>
|
||||
<field name="diameter" optional="show"/>
|
||||
<field name="tool_grade" optional="show"/>
|
||||
<field name="machining_accuracy" optional="show"/>
|
||||
<field name="tool_length" optional="show"/>
|
||||
<field name="blade_number" optional="show"/>
|
||||
<field name="integral_blade_length" optional="show"/>
|
||||
<field name="effective_blade_length" optional="show"/>
|
||||
<field name="max_life" optional="show"/>
|
||||
<field name="is_standard" optional="show"/>
|
||||
<field name="applicable_range" optional="show"/>
|
||||
<field name="tool_stock_num" optional="show"/>
|
||||
<field name="side_shelf_num" optional="show"/>
|
||||
<field name="on_tool_stock_num" optional="show"/>
|
||||
@@ -204,11 +201,11 @@
|
||||
<button string="转移"
|
||||
name="%(sf_tool_management.sf_tool_transfer_request_information_act)d"
|
||||
type="action"
|
||||
context="{ 'default_name':name,
|
||||
context="{ 'default_CNC_machine_table':name,
|
||||
'default_machine_tool_code': machine_tool_code,
|
||||
'default_cutter_spacing_code': cutter_spacing_code,
|
||||
'default_functional_tool_code': functional_tool_code,
|
||||
'default_name': functional_tool_name,
|
||||
'default_functional_tool_name': functional_tool_name,
|
||||
'default_functional_tool_type': functional_tool_type}"
|
||||
class="btn-primary"
|
||||
attrs="{'invisible': [('status', '!=', '0')]}"
|
||||
@@ -300,7 +297,7 @@
|
||||
<field name="applicant"/>
|
||||
<field name="reason_for_applying"/>
|
||||
<field name="remark"/>
|
||||
<button string="装刀申请"
|
||||
<button string="申请装刀"
|
||||
name="%(sf_tool_management.sf_apply_for_tooling_act)d"
|
||||
type="action"
|
||||
context="{ 'default_name':name,
|
||||
@@ -308,7 +305,7 @@
|
||||
'default_machine_table_name': machine_table_name,
|
||||
'default_cam_cutter_spacing_code': cam_cutter_spacing_code,
|
||||
'default_functional_tool_code': functional_tool_code,
|
||||
'default_name': functional_tool_name,
|
||||
'default_functional_tool_name': functional_tool_name,
|
||||
'default_functional_tool_type': functional_tool_type,
|
||||
'default_diameter': diameter,
|
||||
'default_tool_loading_length': tool_loading_length,
|
||||
@@ -324,7 +321,7 @@
|
||||
class="btn-primary"
|
||||
attrs="{'invisible': [('plan_execute_status', '!=', '0')]}"
|
||||
/>
|
||||
<button string="装刀申请" name="" class="btn-primary" attrs="{'invisible': [('plan_execute_status', '=', '0')]}"/>
|
||||
<button string="申请装刀" name="" class="btn-primary" attrs="{'invisible': [('plan_execute_status', '=', '0')]}"/>
|
||||
<button string="撤回" name="revocation" type="object" class="btn-primary" attrs="{'invisible': [('plan_execute_status', '!=', '1')]}"/>
|
||||
<button string="撤回" name="" class="btn-primary" attrs="{'invisible': [('plan_execute_status', '=', '1')]}"/>
|
||||
</tree>
|
||||
@@ -404,7 +401,7 @@
|
||||
context="{
|
||||
'default_machine_tool_name': machine_tool_name,
|
||||
'default_cutter_spacing_code': cutter_spacing_code,
|
||||
'default_name': name,
|
||||
'default_functional_tool_name': name,
|
||||
'default_functional_tool_type': functional_tool_type,
|
||||
'default_functional_tool_length': functional_tool_length,
|
||||
'default_effective_length': None,
|
||||
@@ -420,12 +417,12 @@
|
||||
<button string="取消组装" name="cancel_functional_tool_assembly" type="object" attrs="{'invisible': [('assemble_status', '!=', '1')]}" class="btn-primary"/>
|
||||
<button string="取消组装" name="" attrs="{'invisible': [('assemble_status', '=', '1')]}" class="btn-primary"/>
|
||||
|
||||
<button string="自动打印二维码" name="automatic_printing_of_QR_code" type="object" class="btn-primary"/>
|
||||
<button string="自动打印二维码" name="automatic_printing_of_QR_code" type="object" attrs="{'invisible': [('assemble_status', '=', '0')]}" class="btn-primary" />
|
||||
|
||||
<button string="出库" name="show_popup" type="object" attrs="{'invisible': [('assemble_status', '!=', '1')]}" class="btn-primary"/>
|
||||
<button string="出库" name="" attrs="{'invisible': [('assemble_status', '=', '1')]}" class="btn-primary"/>
|
||||
|
||||
<button string="组装单打印" name="assemble_single_print" type="object" class="btn-primary"/>
|
||||
<button string="组装单打印" name="assemble_single_print" type="object" attrs="{'invisible': [('assemble_status', '=', '0')]}" class="btn-primary"/>
|
||||
|
||||
<field name="check_box_1" attrs="{'readonly': [('assemble_status', '!=', '1')]}"/>
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="换刀需求信息">
|
||||
<sheet>
|
||||
<group>
|
||||
<group string="机床信息">
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
@@ -20,9 +20,13 @@
|
||||
<field name="cutter_spacing_code"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="replacement_tool_name"/>
|
||||
<field name="replacement_tool_type"/>
|
||||
<group string="刀具信息">
|
||||
<group>
|
||||
<field name="replacement_tool_name"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="replacement_tool_type"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
@@ -63,41 +67,37 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="刀具转移申请信息">
|
||||
<sheet>
|
||||
<group>
|
||||
<group string="机床信息">
|
||||
<group>
|
||||
<group>
|
||||
<field name="CNC_machine_table"/>
|
||||
<field name="functional_tool_code" string="刀具编码"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="machine_tool_code"/>
|
||||
<field name="functional_tool_name" string="刀具名称"/>
|
||||
</group>
|
||||
<field name="CNC_machine_table"/>
|
||||
<field name="cutter_spacing_code"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="cutter_spacing_code"/>
|
||||
<field name="functional_tool_type" string="刀具类型"/>
|
||||
<field name="machine_tool_code"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group string="刀具信息">
|
||||
<group>
|
||||
<field name="functional_tool_name" string="刀具名称"/>
|
||||
<field name="functional_tool_type" string="刀具类型"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="functional_tool_code" string="刀具编码"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="刀具转移">
|
||||
<group>
|
||||
<field name="transfer_target" widget="radio" options="{'horizontal': true}"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="new_cnc_machine_table" attrs="{'readonly': [('transfer_target', '!=', '机台')]}"/>
|
||||
<field name="new_machine_tool_code" attrs="{'readonly': [('transfer_target', '!=', '机台')]}"/>
|
||||
<field name="new_cutter_spacing_code" attrs="{'readonly': [('transfer_target', '!=', '机台')]}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="magazine_tool_warehouse_district" attrs="{'readonly': [('transfer_target', '!=', '线边刀库')]}"/>
|
||||
<field name="magazine_tool_warehouse_position" attrs="{'readonly': [('transfer_target', '!=', '线边刀库')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="tool_room_warehouse_district" attrs="{'readonly': [('transfer_target', '!=', '刀具房')]}"/>
|
||||
<field name="new_cnc_machine_table" attrs="{'invisible': [('transfer_target', '!=', '机台')]}"/>
|
||||
<field name="new_machine_tool_code" attrs="{'invisible': [('transfer_target', '!=', '机台')]}"/>
|
||||
<field name="new_cutter_spacing_code" attrs="{'invisible': [('transfer_target', '!=', '机台')]}"/>
|
||||
<field name="magazine_tool_warehouse_district" attrs="{'invisible': [('transfer_target', '!=', '线边刀库')]}"/>
|
||||
<field name="magazine_tool_warehouse_position" attrs="{'invisible': [('transfer_target', '!=', '线边刀库')]}"/>
|
||||
<field name="tool_room_warehouse_district" attrs="{'invisible': [('transfer_target', '!=', '刀具房')]}"/>
|
||||
<field name="tool_room_warehouse_position" attrs="{'invisible': [('transfer_target', '!=', '刀具房')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
@@ -127,37 +127,39 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="申请装刀">
|
||||
<sheet>
|
||||
<group>
|
||||
<group string="基础信息">
|
||||
<group>
|
||||
<field name="ticket_task_code" string="工单编号"/>
|
||||
<field name="machine_table_name" string="CAM指定机床"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="machine_table_name" string="CAM指定机床"/>
|
||||
<field name="cam_procedure_code" string="CAM程序编号"/>
|
||||
<field name="cam_cutter_spacing_code" string="CAM指定刀位号"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="diameter" string="直径"/>
|
||||
<field name="tool_included_angle"/>
|
||||
<field name="whether_standard_tool"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="tool_loading_length" string="刀尖角"/>
|
||||
<field name="L_D"/>
|
||||
<field name="need_knife_time"/>
|
||||
</group>
|
||||
<field name="functional_tool_name"/>
|
||||
<field name="functional_tool_code"/>
|
||||
<field name="functional_tool_type"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="数据信息">
|
||||
<group>
|
||||
<field name="diameter" string="直径"/>
|
||||
<field name="tool_included_angle" string="刀尖角"/>
|
||||
<field name="clearance_length"/>
|
||||
<field name="coarse_middle_thin"/>
|
||||
<field name="required_cutting_time" string="需切削时长"/>
|
||||
<field name="need_knife_time"/>
|
||||
<field name="whether_standard_tool"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="tool_loading_length"/>
|
||||
<field name="L_D"/>
|
||||
<field name="coarse_middle_thin"/>
|
||||
<field name="required_cutting_time" string="需切削时长"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group string="其他">
|
||||
<field name="reason_for_applying"/>
|
||||
</group>
|
||||
</sheet>
|
||||
@@ -188,29 +190,16 @@
|
||||
<sheet>
|
||||
<group string="功能刀具申请信息">
|
||||
<group>
|
||||
<group>
|
||||
<field name="machine_tool_name"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="cutter_spacing_code"/>
|
||||
</group>
|
||||
</group><group>
|
||||
<group>
|
||||
<field name="functional_tool_name"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="functional_tool_type"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="machine_tool_name"/>
|
||||
<field name="functional_tool_name"/>
|
||||
<field name="functional_tool_length"/>
|
||||
<field name="effective_length"/>
|
||||
<field name="functional_tool_cutting_type"/>
|
||||
<field name="required_cutting_time"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="cutter_spacing_code"/>
|
||||
<field name="functional_tool_type"/>
|
||||
<field name="functional_tool_diameter"/>
|
||||
<field name="tool_included_angle"/>
|
||||
<field name="whether_standard_tool"/>
|
||||
@@ -243,9 +232,11 @@
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="cut_time"/>
|
||||
<field name="cut_length"/>
|
||||
<field name="cut_number"/>
|
||||
<group>
|
||||
<field name="cut_time"/>
|
||||
<field name="cut_length"/>
|
||||
<field name="cut_number"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<footer>
|
||||
|
||||
@@ -556,4 +556,19 @@ body.o_web_client {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ui-sortable .o_data_row .o_data_cell .me-2 {
|
||||
display: flex !important;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.o_data_cell>button[name=""] {
|
||||
background-color: #ccc !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.o_dialog .modal .modal-footer footer {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user