diff --git a/sf_maintenance/models/sf_maintenance_logs.py b/sf_maintenance/models/sf_maintenance_logs.py index 7f80e163..c1a82a1b 100644 --- a/sf_maintenance/models/sf_maintenance_logs.py +++ b/sf_maintenance/models/sf_maintenance_logs.py @@ -1,13 +1,14 @@ # -*-coding:utf-8-*- -from odoo import fields, models +from odoo import fields, models, api class SfMaintenanceLogs(models.Model): _name = 'sf.maintenance.logs' _description = '设备故障日志' + _order = 'alarm_time desc' - code = fields.Char(string='编码') - name = fields.Char(string='名称') + code = fields.Char(string='编码', readonly=True) + name = fields.Char(string='名称', compute='_compute_name') type = fields.Selection([('type1', '类型1'), ('type2', '类型2')], string='类型') brand = fields.Many2one('sf.machine.brand', related='maintenance_equipment_id.brand_id', string='品牌') maintenance_equipment_id = fields.Many2one('maintenance.equipment', string='机台号') @@ -28,3 +29,13 @@ class SfMaintenanceLogs(models.Model): fault_duration = fields.Float(string='故障时长') note = fields.Text(string='备注') active = fields.Boolean('Active', default=True) + + @api.depends('code') + def _compute_name(self): + for record in self: + if record.code: + record.name = self.env['maintenance.equipment'].sudo().search([('code', '=', record.code), ('active', '=', True)]).name + record.maintenance_equipment_id = self.env['maintenance.equipment'].sudo().search([('code', '=', record.code), ('active', '=', True)]).id + else: + record.name = '' + diff --git a/sf_maintenance/views/maintenance_logs_views.xml b/sf_maintenance/views/maintenance_logs_views.xml index b3922595..af334fac 100644 --- a/sf_maintenance/views/maintenance_logs_views.xml +++ b/sf_maintenance/views/maintenance_logs_views.xml @@ -8,8 +8,8 @@ - - + + @@ -37,13 +37,14 @@

- +

- + +