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 @@
-
+