From 10c6f59f528a0427b5ab403399278309d2ffec11 Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Fri, 4 Jul 2025 13:48:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=20=20=E6=88=90=E5=93=81?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E5=88=9B=E5=BB=BA=E6=AC=A0=E5=8D=95?= =?UTF-8?q?=E5=90=8E=E7=94=9F=E6=88=90=E7=9A=84=E8=B0=83=E6=8B=A8=E5=8D=95?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E4=B8=AD=E8=B4=A8=E9=87=8F=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E6=99=BA=E8=83=BD=E6=8C=89=E9=92=AE=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E4=B8=BA=E9=80=9A=E8=BF=87=E7=8A=B6=E6=80=81?= =?UTF-8?q?=20=20=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_quality/__manifest__.py | 1 + sf_quality/models/stock.py | 7 ++++++- sf_quality/views/stock_picking.xml | 28 ++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 sf_quality/views/stock_picking.xml diff --git a/sf_quality/__manifest__.py b/sf_quality/__manifest__.py index 00cbe496..8b99ce80 100644 --- a/sf_quality/__manifest__.py +++ b/sf_quality/__manifest__.py @@ -22,6 +22,7 @@ 'data/report_actions.xml', 'views/view.xml', 'views/quality_cnc_test_view.xml', + 'views/stock_picking.xml', 'views/mrp_workorder.xml', 'views/quality_check_view.xml', 'views/quality_company.xml', diff --git a/sf_quality/models/stock.py b/sf_quality/models/stock.py index 7b70b77a..8efb1b79 100644 --- a/sf_quality/models/stock.py +++ b/sf_quality/models/stock.py @@ -1,24 +1,29 @@ import logging -from odoo import api, models +from odoo import api, models, fields from odoo.exceptions import ValidationError, UserError class StockPicking(models.Model): _inherit = 'stock.picking' + whether_show_quality_check = fields.Boolean('是否显示质量检测按钮', default=True) + def _compute_check(self): super()._compute_check() for picking in self: picking_to_quality = picking.get_picking_to_quality() if not picking_to_quality: picking.quality_check_todo = False + picking.whether_show_quality_check = False break else: + picking.whether_show_quality_check = True need_quality_line = picking.get_need_quality_line(picking_to_quality) if not need_quality_line or all(not line.get('need_done_check_ids') for line in need_quality_line): picking.quality_check_todo = False + def check_quality(self): self.ensure_one() # checkable_products = self.mapped('move_line_ids').mapped('product_id') diff --git a/sf_quality/views/stock_picking.xml b/sf_quality/views/stock_picking.xml new file mode 100644 index 00000000..857436d8 --- /dev/null +++ b/sf_quality/views/stock_picking.xml @@ -0,0 +1,28 @@ + + + + stock.picking.view.form.sf.quality + stock.picking + + + + + + + {'invisible': ['|', '|','|', ('check_ids', '=', []), ('quality_check_fail', '=', + True), ('quality_check_todo', '!=', True), ('whether_show_quality_check', '!=', True)]} + + + + {'invisible': ['|', '|','|', ('check_ids', '=', []), ('quality_check_fail', '=', + True), ('quality_check_todo', '=', True), ('whether_show_quality_check', '!=', True)]} + + + + {'invisible': ['|', '|',('check_ids', '=', []), ('quality_check_fail', '!=', + True), ('whether_show_quality_check', '!=', True)]} + + + + + \ No newline at end of file