diff --git a/fusion_plating/fusion_plating_configurator/static/src/scss/express_order.scss b/fusion_plating/fusion_plating_configurator/static/src/scss/express_order.scss index 64394411..39e84d20 100644 --- a/fusion_plating/fusion_plating_configurator/static/src/scss/express_order.scss +++ b/fusion_plating/fusion_plating_configurator/static/src/scss/express_order.scss @@ -66,8 +66,11 @@ display: block; } - // Field input visual — underline style like the mockup - .o_input, .o_field_widget input, + // Field input visual — underline style like the mockup. + // EXCLUDES checkboxes / radios / file inputs (they have their own + // visual treatment and would disappear under this style). + .o_input, + .o_field_widget input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), .o_field_widget select { border: none; border-bottom: 1px solid $xpr-border-strong; @@ -91,6 +94,17 @@ } .o_field_widget select { cursor: pointer; } + // Native checkboxes inside Express cells — keep them visible at + // a comfortable size. Boolean toggle widget retains its own look. + .o_field_widget input[type="checkbox"] { + width: 18px; + height: 18px; + min-height: 18px; + margin: 6px 0; + cursor: pointer; + accent-color: $xpr-accent; + } + // Ensure Boolean/toggle aligns visually with the underline .o_field_boolean, .o_field_boolean_toggle { @@ -216,47 +230,15 @@ table-layout: auto; } - // Column widths — give Part Number + Specification room, - // tighten Qty/Price/Subtotal/Mask + // Column widths are set via `width="Npx"` ARCH ATTRIBUTES on the + // elements (the proper Odoo 19 mechanism). The + // column_width_hook.js dynamically applies inline widths after + // render and overrides any CSS-only width, so we don't fight it + // here. We only add a few visual tweaks per-column: .o_fp_xpr_lines .o_list_view { - th[data-name="part_catalog_id"], - td[name="part_catalog_id"] { - min-width: 230px; - width: 230px; - } - th[data-name="line_description"], - td[name="line_description"] { - min-width: 220px; - } - th[data-name="customer_line_ref"], - td[name="customer_line_ref"] { width: 75px; } - th[data-name="thickness_range"], - td[name="thickness_range"] { width: 110px; } - th[data-name="masking_enabled"], - td[name="masking_enabled"] { - width: 55px; - text-align: center; - } - th[data-name="bake_instructions"], - td[name="bake_instructions"] { width: 130px; } - th[data-name="internal_description"], - td[name="internal_description"] { min-width: 140px; } - th[data-name="quantity"], - td[name="quantity"] { width: 60px; } - th[data-name="unit_price"], - td[name="unit_price"] { width: 80px; } - th[data-name="line_subtotal"], - td[name="line_subtotal"] { - width: 90px; - font-weight: 600; - } - // Stacked DWG / OPEN action column - th[data-name="action_btns_anchor"], - td[name="action_btns_anchor"] { - width: 60px; - text-align: center; - padding: 2px !important; - } + td[name="masking_enabled"] { text-align: center; } + td[name="line_subtotal"] { font-weight: 600; } + td[name="action_btns_anchor"] { padding: 2px !important; text-align: center; } } .o_fp_xpr_lines .o_list_view thead th { background: $xpr-table-head; diff --git a/fusion_plating/fusion_plating_configurator/views/fp_express_order_views.xml b/fusion_plating/fusion_plating_configurator/views/fp_express_order_views.xml index b241fa0c..4c6ee3c8 100644 --- a/fusion_plating/fusion_plating_configurator/views/fp_express_order_views.xml +++ b/fusion_plating/fusion_plating_configurator/views/fp_express_order_views.xml @@ -223,6 +223,7 @@ @@ -236,29 +237,34 @@ options="{'no_quick_create': False, 'color_field': 'state_color'}" domain="[('part_id', '=', part_catalog_id)]" column_invisible="1"/> + - - - + + + + widget="fp_express_bake_pill" + width="120px"/> - + + options="{'currency_field': 'currency_id'}" + width="80px"/> + sum="Total" + width="90px"/> + widget="fp_express_action_btns" + width="60px"/>