From 2462c3774d052fb4d08369917bdfed5ecbe513a2 Mon Sep 17 00:00:00 2001 From: yuxianghui <1608204036@qq.com> Date: Tue, 18 Jul 2023 16:27:24 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=97=A5=E5=8E=86?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE---=E6=96=B0=E5=A2=9E=E5=B0=86=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E7=9A=84=E6=98=9F=E6=9C=9F=E8=BD=AC=E6=8D=A2=E6=88=90?= =?UTF-8?q?=E8=8B=B1=E6=96=87=E7=9A=84=E6=98=9F=E6=9C=9F=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E5=88=A0=E9=99=A4=E4=BA=86=E5=A4=A7=E9=83=A8?= =?UTF-8?q?=E5=88=86=E6=97=A5=E5=BF=97=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_plan_management/models/calendar_base.py | 72 ++++++++++++++++------ 1 file changed, 54 insertions(+), 18 deletions(-) diff --git a/sf_plan_management/models/calendar_base.py b/sf_plan_management/models/calendar_base.py index d67842e8..5b86e6dd 100644 --- a/sf_plan_management/models/calendar_base.py +++ b/sf_plan_management/models/calendar_base.py @@ -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): From a7028e00f90d29dcf14cdb6704e781aba0256815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?WEB=E8=AE=B8=E4=BD=95=E5=93=B2=5Cxuhez?= Date: Tue, 18 Jul 2023 17:09:17 +0800 Subject: [PATCH 2/6] =?UTF-8?q?tree=E8=A7=86=E5=9B=BE=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E4=B8=AD=E5=AD=97=E6=AE=B5=E6=A0=B7=E5=BC=8F=E7=9A=84=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spiffy_theme_backend/static/src/scss/list_view.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spiffy_theme_backend/static/src/scss/list_view.scss b/spiffy_theme_backend/static/src/scss/list_view.scss index d676b2a5..4d683d46 100644 --- a/spiffy_theme_backend/static/src/scss/list_view.scss +++ b/spiffy_theme_backend/static/src/scss/list_view.scss @@ -556,4 +556,9 @@ body.o_web_client { } } } +} + +.ui-sortable .o_data_row .o_data_cell .me-2 { + display: flex !important; + align-items: center; } \ No newline at end of file From e44e44df4195e66e3e417f22e76da8540b7b005b Mon Sep 17 00:00:00 2001 From: mgw <1392924357@qq.com> Date: Wed, 19 Jul 2023 10:03:53 +0800 Subject: [PATCH 3/6] =?UTF-8?q?sf=E5=A4=84=E5=8A=9F=E8=83=BD=E5=88=80?= =?UTF-8?q?=E5=85=B7=E4=BF=AE=E6=94=B9=E5=8F=8A=E5=85=B6=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=EF=BC=8C=E7=9B=AE=E5=BD=95=E4=BD=8D=E7=BD=AE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_base/models/tool_base_new.py | 37 ++++++++ sf_base/views/tool_menu.xml | 4 +- sf_base/views/tool_views.xml | 20 ++++- sf_mrs_connect/models/sync_common.py | 125 +++++++++++++++++++-------- 4 files changed, 143 insertions(+), 43 deletions(-) diff --git a/sf_base/models/tool_base_new.py b/sf_base/models/tool_base_new.py index d6f69dd0..945ab1eb 100644 --- a/sf_base/models/tool_base_new.py +++ b/sf_base/models/tool_base_new.py @@ -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): diff --git a/sf_base/views/tool_menu.xml b/sf_base/views/tool_menu.xml index 1874b3b0..a1c976d5 100644 --- a/sf_base/views/tool_menu.xml +++ b/sf_base/views/tool_menu.xml @@ -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" /> diff --git a/sf_base/views/tool_views.xml b/sf_base/views/tool_views.xml index 27619b6d..4b02fefb 100644 --- a/sf_base/views/tool_views.xml +++ b/sf_base/views/tool_views.xml @@ -58,6 +58,12 @@ + + + + + + @@ -72,10 +78,16 @@ - - - - + + + + + + + + + + diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py index ed546820..ae0196bb 100644 --- a/sf_mrs_connect/models/sync_common.py +++ b/sf_mrs_connect/models/sync_common.py @@ -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, From 3b09297600cea432921050b069499f70a177430a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?WEB=E8=AE=B8=E4=BD=95=E5=93=B2=5Cxuhez?= Date: Wed, 19 Jul 2023 10:40:15 +0800 Subject: [PATCH 4/6] =?UTF-8?q?tree=E8=A7=86=E5=9B=BE=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spiffy_theme_backend/static/src/scss/list_view.scss | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/spiffy_theme_backend/static/src/scss/list_view.scss b/spiffy_theme_backend/static/src/scss/list_view.scss index 4d683d46..85029e44 100644 --- a/spiffy_theme_backend/static/src/scss/list_view.scss +++ b/spiffy_theme_backend/static/src/scss/list_view.scss @@ -561,4 +561,14 @@ body.o_web_client { .ui-sortable .o_data_row .o_data_cell .me-2 { display: flex !important; align-items: center; -} \ No newline at end of file +} + +.o_data_cell>button[type="null"] { + background-color: #ccc !important; + border: none !important; +} + +.o_dialog .modal .modal-footer footer { + justify-content: flex-end; +} + From 89eec3250add7e42f7a1da9588ab0db724910109 Mon Sep 17 00:00:00 2001 From: yuxianghui <1608204036@qq.com> Date: Wed, 19 Jul 2023 11:24:05 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=88=80=E5=85=B7?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=BC=B9=E7=AA=97=E7=95=8C=E9=9D=A2=E7=9A=84?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_tool_management/views/tool_base_views.xml | 39 +++--- sf_tool_management/wizard/wizard_view.xml | 123 +++++++++---------- 2 files changed, 75 insertions(+), 87 deletions(-) diff --git a/sf_tool_management/views/tool_base_views.xml b/sf_tool_management/views/tool_base_views.xml index aae16a8a..4326b0c6 100644 --- a/sf_tool_management/views/tool_base_views.xml +++ b/sf_tool_management/views/tool_base_views.xml @@ -22,7 +22,6 @@ - @@ -126,20 +125,18 @@ - - - - - - - - - - - - + + + + + + + + + + @@ -204,11 +201,11 @@