增加kanban悬停tip

This commit is contained in:
guyaodong
2025-06-18 14:26:53 +08:00
parent 6321e7ef23
commit 8b66fda899
3 changed files with 280 additions and 150 deletions

View File

@@ -459,7 +459,41 @@ class ShelfLocation(models.Model):
product_sn_ids = fields.One2many('sf.shelf.location.lot', 'shelf_location_id', string='产品批次号')
# 产品数量
product_num = fields.Integer('总数量', compute='_compute_number', store=True)
tool_rfid = fields.Char('Rfid', compute='_compute_tool', store=True)
tool_name_id = fields.Many2one('sf.functional.cutting.tool.entity', string='功能刀具名称', compute='_compute_tool', store=True)
display_rfid = fields.Char('RFID', compute='_compute_display_rfid', store=True)
@api.depends('product_sn_id')
def _compute_display_rfid(self):
"""计算显示 RFID"""
for record in self:
try:
record.display_rfid = record.product_sn_id.rfid if record.product_sn_id else ''
except Exception as e:
record.display_rfid = ''
_logger.error(f"计算 display_rfid 时出错: {e}")
@api.depends('product_id')
def _compute_tool(self):
"""计算工具 RFID"""
for record in self:
try:
if record.product_id:
if record.product_id.categ_id.name == '功能刀具':
# 搜索关联的功能刀具实体
tool_id = self.env['sf.functional.cutting.tool.entity'].search(
[('barcode_id', '=', record.product_sn_id.id)], limit=1
)
if tool_id:
record.tool_rfid = tool_id.rfid
record.tool_name_id = tool_id.id
continue
# 默认值
record.tool_rfid = ''
record.tool_name_id = False
except Exception as e:
record.tool_rfid = ''
record.tool_name_id = False
_logger.error(f"计算 tool_rfid 时出错: {e}")
@api.depends('product_num')
def _compute_product_num(self):
for record in self:
@@ -563,6 +597,7 @@ class ShelfLocation(models.Model):
else:
_layer_capacity = _layer_capacity
_layer = _layer+1
_layer_capacity = f"{_layer_capacity:02d}"
record.kanban_show_layer_info=f"{_layer}-{_layer_capacity}"
record.kanban_show_center_control_code=f"{_cc_code}"