diff --git a/yuthon_hr_employee/models/yuthon_job_lv.py b/yuthon_hr_employee/models/yuthon_job_lv.py index 3947c5a7b..96c1a5e4e 100644 --- a/yuthon_hr_employee/models/yuthon_job_lv.py +++ b/yuthon_hr_employee/models/yuthon_job_lv.py @@ -28,8 +28,12 @@ class YuthonJobLv(models.Model): @api.model def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True): res = super(YuthonJobLv, self).read_group(domain, fields, groupby, offset=offset, limit=limit, orderby=orderby, - lazy=lazy) + lazy=lazy) if 'lv' in groupby: - # 按 sequence 字段排序 (假设 sequence 始终是数字或可以转换为数字) - res.sort(key=lambda x: int(self.search([('lv', '=', x['lv'])], limit=1).sequence or 0)) - return res \ No newline at end of file + try: + res.sort( + key=lambda x: int(self.search([('lv', '=', x['lv'])], limit=1).sequence or 0) if x.get('lv') else 0) + except (ValueError, AttributeError): + # 处理 sequence 字段不是数字或不存在的情况 + res.sort(key=lambda x: x.get('lv') or '') # 按 lv 值排序,如果 lv 不存在则使用空字符串 + return res diff --git a/yuthon_hr_employee/views/yuthon_job_lv_views.xml b/yuthon_hr_employee/views/yuthon_job_lv_views.xml index b9888252d..228a0bae0 100644 --- a/yuthon_hr_employee/views/yuthon_job_lv_views.xml +++ b/yuthon_hr_employee/views/yuthon_job_lv_views.xml @@ -16,7 +16,7 @@ - + @@ -59,7 +59,7 @@ - +