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