From ff47376b2e9f822acea04180e15cf84dabe7dea8 Mon Sep 17 00:00:00 2001
From: zhouzhou <123@qq.com>
Date: Fri, 29 Nov 2024 18:56:47 +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
---
soong_workflow/models/soong_user_role.py | 19 ++++++++++++++++++-
.../views/soong_user_role_views.xml | 1 +
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/soong_workflow/models/soong_user_role.py b/soong_workflow/models/soong_user_role.py
index 3a6f7917e..029f75e21 100644
--- a/soong_workflow/models/soong_user_role.py
+++ b/soong_workflow/models/soong_user_role.py
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, _
+from pypinyin import pinyin,lazy_pinyin
+from odoo.osv import expression
class YuthonUserRole(models.Model):
@@ -18,6 +20,7 @@ class YuthonUserRole(models.Model):
child_ids = fields.One2many('soong.user.role', 'parent_id', string='子集角色')
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
('thlc', '天河粮储'), ('thtjbb', '天河投资本部')], string="所属公司", compute='compute_company')
+ pinyin_name = fields.Char(string="拼音名称", compute='_compute_pinyin', index=True, store=True)
@api.depends('department_id')
def compute_company(self):
@@ -38,4 +41,18 @@ class YuthonUserRole(models.Model):
break
department = department.parent_id
else:
- record.yuthon_company = 'thtz'
\ No newline at end of file
+ record.yuthon_company = 'thtz'
+
+ @api.depends('name')
+ def _compute_pinyin(self):
+ for employee in self:
+ employee.pinyin_name = ''.join(lazy_pinyin(employee.name))
+
+ @api.model
+ def _name_search(self, name, domain=None, operator='ilike', limit=None, order=None):
+ domain = domain or []
+ if name:
+ input_pinyin = ''.join(lazy_pinyin(name))
+ search_domain = ['|', ('pinyin_name', operator, input_pinyin), ('name', operator, name)]
+ domain = expression.AND([search_domain, domain])
+ return self._search(domain, limit=limit, order=order)
diff --git a/soong_workflow/views/soong_user_role_views.xml b/soong_workflow/views/soong_user_role_views.xml
index 334d1c15e..c938cbf15 100644
--- a/soong_workflow/views/soong_user_role_views.xml
+++ b/soong_workflow/views/soong_user_role_views.xml
@@ -10,6 +10,7 @@
+