From 9483f2792a1f56b9c919e75ed7fcd92858b907b0 Mon Sep 17 00:00:00 2001
From: zhouzhou <123@qq.com>
Date: Tue, 12 Nov 2024 17:02:56 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
yuthon_hr_employee/models/yuthon_job_lv.py | 12 ++++++++----
yuthon_hr_employee/views/yuthon_job_lv_views.xml | 4 ++--
2 files changed, 10 insertions(+), 6 deletions(-)
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 @@
-
+