diff --git a/sf_maintenance/models/sf_maintenance.py b/sf_maintenance/models/sf_maintenance.py index ef7ffc4c..d66de31e 100644 --- a/sf_maintenance/models/sf_maintenance.py +++ b/sf_maintenance/models/sf_maintenance.py @@ -486,4 +486,38 @@ class MaintenanceStandardImage(models.Model): active = fields.Boolean('有效', default=True) name = fields.Char('加工能力') image = fields.Binary(string='设备图文') - equipment_id = fields.Many2many('maintenance.equipment', 'image_id', string='设备') \ No newline at end of file + equipment_id = fields.Many2many('maintenance.equipment', 'image_id', string='设备') + + @api.model + def name_search(self, name='', args=None, operator='ilike', limit=100): + # 调用父类的name_search方法,获取原始的结果列表 + res = super().name_search(name, args, operator, limit) + # 定义一个空字典用来存储id和name的映射关系 + name_dict = {} + # 遍历结果列表,将id和name存入字典中 + for item in res: + id = item[0] + name = item[1] + name_dict[id] = name + # 根据id列表搜索符合条件的记录 + records = self.browse(name_dict.keys()) + # 定义一个新的结果列表用来存储修改后的结果 + new_res = [] + # 遍历每条记录 + for record in records: + # 获取记录的id,name和image属性 + id = record.id + name = name_dict[id] + image = record.image + # 如果image不为空,将其转换为data URI scheme + if image: + data_uri = f"data:image/png;base64,{image.decode('utf-8')}" + else: + data_uri = "" + # 将这三个属性组成一个数组,并添加到结果列表中 result.append([id, name, data_uri]) # 返回结果列表 return result + new_res.append([id, name, data_uri]) + # 返回新的结果列表 + return new_res + + +