Garment_ERP/addons/garment_erp/views/garment_dashboard_views.xml

567 lines
42 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Dashboard Form View -->
<record id="view_garment_dashboard_form" model="ir.ui.view">
<field name="name">garment.dashboard.form</field>
<field name="model">garment.dashboard</field>
<field name="arch" type="xml">
<form string="Tiruppur Factory Control Room" class="o_garment_dashboard_view" create="false" edit="false" delete="false">
<sheet class="p-0 border-0 shadow-none bg-transparent">
<!-- Embedded Scoped Styling for Premium Industrial UI -->
<style>
/* Full Width Layout Overrides */
.o_garment_dashboard_view {
background-color: #f8fafc !important;
min-height: 100vh;
width: 100% !important;
}
.o_garment_dashboard_view .o_form_sheet_bg {
background: transparent !important;
padding: 0 !important;
max-width: 100% !important;
width: 100% !important;
}
.o_garment_dashboard_view .o_form_sheet_bg > .o_form_sheet {
max-width: 100% !important;
width: 100% !important;
padding: 20px 32px 40px 32px !important;
margin: 0 !important;
background: transparent !important;
border: none !important;
box-shadow: none !important;
}
.o_garment_dashboard_view .o_form_statusbar {
display: none !important;
}
.o_form_sheet_bg:has(.o_dashboard_container) {
max-width: 100% !important;
width: 100% !important;
padding: 0 !important;
}
.o_form_sheet_bg:has(.o_dashboard_container) > .o_form_sheet {
max-width: 100% !important;
width: 100% !important;
padding: 20px 32px 40px 32px !important;
margin: 0 !important;
background: transparent !important;
}
.o_dashboard_container {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
color: #1e293b;
width: 100% !important;
max-width: 100% !important;
}
@keyframes pulseLive {
0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }
70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}
.pulse-dot {
width: 9px;
height: 9px;
border-radius: 50%;
background-color: #22c55e;
display: inline-block;
animation: pulseLive 2s infinite;
}
.kpi-card {
background: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 14px;
transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
position: relative;
overflow: hidden;
}
.kpi-card:hover {
transform: translateY(-4px);
box-shadow: 0 16px 32px -8px rgba(15, 23, 42, 0.1), 0 4px 12px -2px rgba(15, 23, 42, 0.04);
border-color: #cbd5e1;
}
.kpi-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
}
.kpi-card-blue::before { background: linear-gradient(90deg, #3b82f6, #1d4ed8); }
.kpi-card-purple::before { background: linear-gradient(90deg, #8b5cf6, #6d28d9); }
.kpi-card-emerald::before { background: linear-gradient(90deg, #10b981, #059669); }
.kpi-card-cyan::before { background: linear-gradient(90deg, #06b6d4, #0284c7); }
.kpi-card-amber::before { background: linear-gradient(90deg, #f59e0b, #d97706); }
.kpi-card-green::before { background: linear-gradient(90deg, #22c55e, #16a34a); }
.kpi-card-sky::before { background: linear-gradient(90deg, #0ea5e9, #0284c7); }
.kpi-card-rose::before { background: linear-gradient(90deg, #f43f5e, #be123c); }
.kpi-icon-box {
width: 48px;
height: 48px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
flex-shrink: 0;
}
.nav-tile {
background: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
padding: 14px 16px;
display: flex;
align-items: center;
text-decoration: none !important;
color: #1e293b !important;
transition: all 0.2s ease-in-out;
}
.nav-tile:hover {
background: #f8fafc;
border-color: #3b82f6;
transform: translateY(-2px);
box-shadow: 0 8px 16px -4px rgba(59, 130, 246, 0.12);
color: #1d4ed8 !important;
}
.nav-tile:hover .nav-tile-arrow {
transform: translateX(4px);
color: #2563eb;
}
.nav-tile-arrow {
transition: transform 0.2s ease-in-out, color 0.2s;
color: #94a3b8;
font-size: 14px;
}
.nav-tile-icon {
width: 40px;
height: 40px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 17px;
margin-right: 14px;
flex-shrink: 0;
}
.pipeline-pill {
background: #f1f5f9;
border: 1px solid #e2e8f0;
border-radius: 8px;
padding: 8px 14px;
font-size: 13px;
font-weight: 600;
color: #334155;
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
white-space: nowrap;
flex: 1 1 auto;
transition: all 0.2s ease-in-out;
}
.pipeline-pill:hover {
background: #e2e8f0;
border-color: #cbd5e1;
transform: translateY(-1px);
}
.pipeline-arrow {
color: #94a3b8;
font-size: 12px;
}
</style>
<div class="o_dashboard_container p-2">
<!-- Top Hero Command Center Banner -->
<div class="rounded-4 mb-4 text-white position-relative overflow-hidden p-4"
style="background: linear-gradient(135deg, #090d16 0%, #0f172a 45%, #1e1b4b 100%); box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.25); border: 1px solid #1e293b;">
<div class="d-flex flex-wrap align-items-center justify-content-between gap-3">
<div>
<div class="d-inline-flex align-items-center gap-2 px-3 py-1 rounded-pill mb-2"
style="background: rgba(34, 197, 94, 0.15); border: 1px solid rgba(34, 197, 94, 0.3); font-size: 12px; font-weight: 700; color: #4ade80; letter-spacing: 0.5px;">
<span class="pulse-dot"></span> LIVE FACTORY TELEMETRY · TIRUPPUR CLUSTER
</div>
<h1 class="fw-bold mb-1 text-white" style="font-size: 26px; letter-spacing: -0.5px;">
Tiruppur Garment Operations Command Center
</h1>
<p class="text-slate-300 mb-0 opacity-75 small">
End-to-End Real-Time Control: Style Tech Packs, 2D Matrix POs, Roll Stores, Lay Cutting, Bundle Travelers, Sewing Efficiency &amp; Export Dispatch
</p>
</div>
<div class="d-flex align-items-center gap-3">
<div class="px-3 py-2 rounded-3 text-center" style="background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); min-width: 100px;">
<div class="small text-white-50" style="font-size: 11px;">Active Styles</div>
<div class="fs-4 fw-bold text-white"><field name="total_styles_count"/></div>
</div>
<div class="px-3 py-2 rounded-3 text-center" style="background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); min-width: 100px;">
<div class="small text-white-50" style="font-size: 11px;">Sewing Lines</div>
<div class="fs-4 fw-bold text-white"><field name="total_sewing_lines"/></div>
</div>
<div class="px-3 py-2 rounded-3 text-center" style="background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); min-width: 100px;">
<div class="small text-white-50" style="font-size: 11px;">Active Bundles</div>
<div class="fs-4 fw-bold text-info"><field name="total_bundles_active"/></div>
</div>
</div>
</div>
</div>
<!-- 8 Super-Premium Bento KPI Cards -->
<!-- Row 1: Merchandising, Planning & Sewing Line Performance -->
<div class="row g-3 mb-4">
<!-- Card 1: Active Sales Orders -->
<div class="col-xl-3 col-md-6">
<div class="kpi-card kpi-card-blue p-3 h-100 shadow-sm">
<div class="d-flex align-items-center justify-content-between mb-2">
<span class="badge rounded-pill" style="background: #eff6ff; color: #1d4ed8; font-size: 11px; font-weight: 700; letter-spacing: 0.5px;">COMMERCIAL DEMAND</span>
<div class="kpi-icon-box text-white" style="background: linear-gradient(135deg, #3b82f6, #1d4ed8);">
<i class="fa fa-shopping-bag" title="Sales Orders"/>
</div>
</div>
<div class="fs-2 fw-bold text-dark mb-1">
<field name="total_sales_orders"/> <span class="fs-6 fw-normal text-muted">Orders</span>
</div>
<div class="d-flex align-items-center justify-content-between small text-muted pt-2 border-top">
<span>Total Booked Pieces</span>
<strong class="text-primary"><field name="total_ordered_pieces"/> Pcs</strong>
</div>
</div>
</div>
<!-- Card 2: Production Plans in Progress -->
<div class="col-xl-3 col-md-6">
<div class="kpi-card kpi-card-purple p-3 h-100 shadow-sm">
<div class="d-flex align-items-center justify-content-between mb-2">
<span class="badge rounded-pill" style="background: #f5f3ff; color: #6d28d9; font-size: 11px; font-weight: 700; letter-spacing: 0.5px;">SHOP FLOOR PLANNING</span>
<div class="kpi-icon-box text-white" style="background: linear-gradient(135deg, #8b5cf6, #6d28d9);">
<i class="fa fa-industry" title="Production Plans"/>
</div>
</div>
<div class="fs-2 fw-bold text-dark mb-1">
<field name="active_production_plans"/> <span class="fs-6 fw-normal text-muted">Active Plans</span>
</div>
<div class="d-flex align-items-center justify-content-between small pt-2 border-top">
<span class="text-muted">Average Completion</span>
<strong class="text-purple" style="color: #7c3aed;"><field name="avg_production_progress"/>%</strong>
</div>
</div>
</div>
<!-- Card 3: Today's Sewing Output -->
<div class="col-xl-3 col-md-6">
<div class="kpi-card kpi-card-emerald p-3 h-100 shadow-sm">
<div class="d-flex align-items-center justify-content-between mb-2">
<span class="badge rounded-pill" style="background: #ecfdf5; color: #047857; font-size: 11px; font-weight: 700; letter-spacing: 0.5px;">DAILY SEWING FLOOR</span>
<div class="kpi-icon-box text-white" style="background: linear-gradient(135deg, #10b981, #059669);">
<i class="fa fa-cubes" title="Sewing Output"/>
</div>
</div>
<div class="fs-2 fw-bold text-dark mb-1">
<field name="today_actual_pieces"/> <span class="fs-6 fw-normal text-muted">Pcs Produced</span>
</div>
<div class="d-flex align-items-center justify-content-between small text-muted pt-2 border-top">
<span>Target: <field name="today_target_pieces"/> Pcs</span>
<span class="badge bg-success bg-opacity-10 text-success fw-bold">Active Shift</span>
</div>
</div>
</div>
<!-- Card 4: Sewing Line Efficiency -->
<div class="col-xl-3 col-md-6">
<div class="kpi-card kpi-card-cyan p-3 h-100 shadow-sm">
<div class="d-flex align-items-center justify-content-between mb-2">
<span class="badge rounded-pill" style="background: #ecfeff; color: #0e7490; font-size: 11px; font-weight: 700; letter-spacing: 0.5px;">IE EFFICIENCY (SAM)</span>
<div class="kpi-icon-box text-white" style="background: linear-gradient(135deg, #06b6d4, #0284c7);">
<i class="fa fa-dashboard" title="Efficiency"/>
</div>
</div>
<div class="fs-2 fw-bold text-dark mb-1">
<field name="avg_line_efficiency"/>% <span class="fs-6 fw-normal text-muted">Efficiency</span>
</div>
<div class="d-flex align-items-center justify-content-between small pt-2 border-top">
<span class="text-muted">Alteration Audit</span>
<strong class="text-danger"><field name="today_defects"/> Defects Logged</strong>
</div>
</div>
</div>
</div>
<!-- Row 2: Raw Material Stores, Finished Goods, Subcontracting & Dispatch -->
<div class="row g-3 mb-4">
<!-- Card 5: Fabric Roll Stores -->
<div class="col-xl-3 col-md-6">
<div class="kpi-card kpi-card-amber p-3 h-100 shadow-sm">
<div class="d-flex align-items-center justify-content-between mb-2">
<span class="badge rounded-pill" style="background: #fffbeb; color: #b45309; font-size: 11px; font-weight: 700; letter-spacing: 0.5px;">RAW FABRIC STORES</span>
<div class="kpi-icon-box text-white" style="background: linear-gradient(135deg, #f59e0b, #d97706);">
<i class="fa fa-database" title="Fabric Rolls"/>
</div>
</div>
<div class="fs-2 fw-bold text-dark mb-1">
<field name="total_fabric_stock_kg"/> <span class="fs-6 fw-normal text-muted">Kg in Stock</span>
</div>
<div class="d-flex align-items-center justify-content-between small pt-2 border-top">
<span class="text-muted">Approved to Cut</span>
<strong class="text-success"><field name="total_approved_rolls"/> Rolls QC Passed</strong>
</div>
</div>
</div>
<!-- Card 6: Finished Goods Warehouse -->
<div class="col-xl-3 col-md-6">
<div class="kpi-card kpi-card-green p-3 h-100 shadow-sm">
<div class="d-flex align-items-center justify-content-between mb-2">
<span class="badge rounded-pill" style="background: #f0fdf4; color: #15803d; font-size: 11px; font-weight: 700; letter-spacing: 0.5px;">FG WAREHOUSE</span>
<div class="kpi-icon-box text-white" style="background: linear-gradient(135deg, #22c55e, #16a34a);">
<i class="fa fa-check-square-o" title="Finished Goods"/>
</div>
</div>
<div class="fs-2 fw-bold text-dark mb-1">
<field name="total_finished_goods_pcs"/> <span class="fs-6 fw-normal text-muted">Pcs on Hand</span>
</div>
<div class="d-flex align-items-center justify-content-between small text-muted pt-2 border-top">
<span>Packed in Inventory</span>
<span class="badge bg-success bg-opacity-10 text-success fw-bold">Ready to Ship</span>
</div>
</div>
</div>
<!-- Card 7: Subcontracting (Job Work) -->
<div class="col-xl-3 col-md-6">
<div class="kpi-card kpi-card-sky p-3 h-100 shadow-sm">
<div class="d-flex align-items-center justify-content-between mb-2">
<span class="badge rounded-pill" style="background: #f0f9ff; color: #0369a1; font-size: 11px; font-weight: 700; letter-spacing: 0.5px;">EXTERNAL JOB WORK</span>
<div class="kpi-icon-box text-white" style="background: linear-gradient(135deg, #0ea5e9, #0284c7);">
<i class="fa fa-truck" title="Job Work"/>
</div>
</div>
<div class="fs-2 fw-bold text-dark mb-1">
<field name="pending_jobwork_dc"/> <span class="fs-6 fw-normal text-muted">Active DCs</span>
</div>
<div class="d-flex align-items-center justify-content-between small text-muted pt-2 border-top">
<span>Knitting, Dyeing, Print, Wash</span>
<strong class="text-info">In Transit</strong>
</div>
</div>
</div>
<!-- Card 8: Ready for Dispatch & QC Gate -->
<div class="col-xl-3 col-md-6">
<div class="kpi-card kpi-card-rose p-3 h-100 shadow-sm">
<div class="d-flex align-items-center justify-content-between mb-2">
<span class="badge rounded-pill" style="background: #fff1f2; color: #be123c; font-size: 11px; font-weight: 700; letter-spacing: 0.5px;">DISPATCH &amp; QUALITY</span>
<div class="kpi-icon-box text-white" style="background: linear-gradient(135deg, #f43f5e, #be123c);">
<i class="fa fa-ship" title="Dispatch"/>
</div>
</div>
<div class="fs-2 fw-bold text-dark mb-1">
<field name="pending_dispatch_cartons"/> <span class="fs-6 fw-normal text-muted">Cartons Ready</span>
</div>
<div class="d-flex align-items-center justify-content-between small pt-2 border-top">
<span class="text-muted">Quality Alterations</span>
<strong class="text-danger"><field name="active_rework_orders"/> Open Reworks</strong>
</div>
</div>
</div>
</div>
<!-- Visual Manufacturing Pipeline Stepper -->
<div class="bg-white border rounded-4 p-3 mb-4 shadow-sm">
<div class="d-flex align-items-center justify-content-between mb-2">
<div class="small text-uppercase fw-bold text-muted" style="letter-spacing: 0.5px;">
<i class="fa fa-random text-primary me-1" title="Flow"/> Tiruppur Apparel Manufacturing Lifecycle
</div>
<span class="badge bg-primary bg-opacity-10 text-primary small">Integrated Flow</span>
</div>
<div class="d-flex align-items-center justify-content-between flex-wrap gap-2 py-1">
<div class="pipeline-pill"><span class="badge bg-dark rounded-circle" style="width:18px;height:18px;padding:2px;">1</span> 2D Matrix PO</div>
<i class="fa fa-angle-right pipeline-arrow" title="Next"/>
<div class="pipeline-pill"><span class="badge bg-dark rounded-circle" style="width:18px;height:18px;padding:2px;">2</span> Fabric 4-Pt QC</div>
<i class="fa fa-angle-right pipeline-arrow" title="Next"/>
<div class="pipeline-pill"><span class="badge bg-dark rounded-circle" style="width:18px;height:18px;padding:2px;">3</span> Cutting &amp; Plies</div>
<i class="fa fa-angle-right pipeline-arrow" title="Next"/>
<div class="pipeline-pill"><span class="badge bg-dark rounded-circle" style="width:18px;height:18px;padding:2px;">4</span> QR Bundles</div>
<i class="fa fa-angle-right pipeline-arrow" title="Next"/>
<div class="pipeline-pill"><span class="badge bg-dark rounded-circle" style="width:18px;height:18px;padding:2px;">5</span> Sewing Assembly</div>
<i class="fa fa-angle-right pipeline-arrow" title="Next"/>
<div class="pipeline-pill"><span class="badge bg-dark rounded-circle" style="width:18px;height:18px;padding:2px;">6</span> Job Work DC</div>
<i class="fa fa-angle-right pipeline-arrow" title="Next"/>
<div class="pipeline-pill"><span class="badge bg-dark rounded-circle" style="width:18px;height:18px;padding:2px;">7</span> Endline QC</div>
<i class="fa fa-angle-right pipeline-arrow" title="Next"/>
<div class="pipeline-pill"><span class="badge bg-dark rounded-circle" style="width:18px;height:18px;padding:2px;">8</span> Export Carton</div>
<i class="fa fa-angle-right pipeline-arrow" title="Next"/>
<div class="pipeline-pill" style="background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;"><span class="badge bg-primary rounded-circle" style="width:18px;height:18px;padding:2px;">9</span> Port Dispatch</div>
</div>
</div>
<!-- Department Navigation Launchpad (Interactive Quick Action Hub) -->
<div class="row g-4">
<!-- Section 1: Merchandising & Product Engineering -->
<div class="col-lg-4">
<div class="bg-white border rounded-4 p-3 h-100 shadow-sm">
<div class="d-flex align-items-center gap-2 mb-3 pb-2 border-bottom">
<div class="rounded-3 p-2 text-white" style="background: linear-gradient(135deg, #3b82f6, #1d4ed8);">
<i class="fa fa-bookmark" title="Merchandising"/>
</div>
<div>
<h6 class="fw-bold mb-0 text-dark">Merchandising &amp; Planning</h6>
<small class="text-muted" style="font-size: 11px;">Tech packs, orders &amp; BOM costing</small>
</div>
</div>
<div class="d-flex flex-column gap-2">
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_style">
<div class="nav-tile-icon" style="background: #eff6ff; color: #2563eb;"><i class="fa fa-tag" title="Styles"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Garment Styles</div>
<small class="text-muted" style="font-size: 11px;">Tech Packs &amp; POM Grading</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_sales_order">
<div class="nav-tile-icon" style="background: #eff6ff; color: #2563eb;"><i class="fa fa-th" title="Sales Matrix"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Sales Matrix Orders</div>
<small class="text-muted" style="font-size: 11px;">2D Color × Size Order Breakdown</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_production_plan">
<div class="nav-tile-icon" style="background: #f5f3ff; color: #7c3aed;"><i class="fa fa-calendar-check-o" title="Production Plans"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Production Plans</div>
<small class="text-muted" style="font-size: 11px;">Master Schedules &amp; MRP Tracking</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_costing">
<div class="nav-tile-icon" style="background: #ecfdf5; color: #059669;"><i class="fa fa-calculator" title="Costing"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Garment Costing</div>
<small class="text-muted" style="font-size: 11px;">Pre/Post Cost Sheets &amp; Margins</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
</div>
</div>
</div>
<!-- Section 2: Cutting Room & Sewing Floor Execution -->
<div class="col-lg-4">
<div class="bg-white border rounded-4 p-3 h-100 shadow-sm">
<div class="d-flex align-items-center gap-2 mb-3 pb-2 border-bottom">
<div class="rounded-3 p-2 text-white" style="background: linear-gradient(135deg, #10b981, #059669);">
<i class="fa fa-scissors" title="Cutting"/>
</div>
<div>
<h6 class="fw-bold mb-0 text-dark">Cutting &amp; Shop Floor</h6>
<small class="text-muted" style="font-size: 11px;">Roll stock, lays, bundles &amp; lines</small>
</div>
</div>
<div class="d-flex flex-column gap-2">
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_fabric_roll">
<div class="nav-tile-icon" style="background: #fffbeb; color: #d97706;"><i class="fa fa-database" title="Fabric Rolls"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Fabric Roll Inventory</div>
<small class="text-muted" style="font-size: 11px;">Roll Weights &amp; 4-Point QC</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_cutting_plan">
<div class="nav-tile-icon" style="background: #ecfeff; color: #0891b2;"><i class="fa fa-tasks" title="Cutting Orders"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Cutting Orders</div>
<small class="text-muted" style="font-size: 11px;">Marker Lay &amp; Size Cut Ratios</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_bundle">
<div class="nav-tile-icon" style="background: #fdf4ff; color: #c026d3;"><i class="fa fa-qrcode" title="Bundles Tracker"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Bundles Tracker</div>
<small class="text-muted" style="font-size: 11px;">QR / Barcode Ply Travelers</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_sewing_hourly">
<div class="nav-tile-icon" style="background: #ecfdf5; color: #059669;"><i class="fa fa-clock-o" title="Hourly Production"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Hourly Production</div>
<small class="text-muted" style="font-size: 11px;">H1H8 Logs &amp; Line Efficiency</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
</div>
</div>
</div>
<!-- Section 3: Subcontracting, Quality & Export Logistics -->
<div class="col-lg-4">
<div class="bg-white border rounded-4 p-3 h-100 shadow-sm">
<div class="d-flex align-items-center gap-2 mb-3 pb-2 border-bottom">
<div class="rounded-3 p-2 text-white" style="background: linear-gradient(135deg, #f43f5e, #be123c);">
<i class="fa fa-globe" title="Logistics"/>
</div>
<div>
<h6 class="fw-bold mb-0 text-dark">Subcontracting &amp; Quality</h6>
<small class="text-muted" style="font-size: 11px;">Job work, QC, packing &amp; shipment</small>
</div>
</div>
<div class="d-flex flex-column gap-2">
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_jobwork_order">
<div class="nav-tile-icon" style="background: #f0f9ff; color: #0284c7;"><i class="fa fa-truck" title="Job Work"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Job Work Challans (DC)</div>
<small class="text-muted" style="font-size: 11px;">Dyeing, Printing, Bio-Wash</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_quality_inspection">
<div class="nav-tile-icon" style="background: #fef2f2; color: #dc2626;"><i class="fa fa-check-circle" title="Quality QC"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Quality Control &amp; Rework</div>
<small class="text-muted" style="font-size: 11px;">Inline, Endline &amp; AQL 2.5 Audits</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_packing_plan">
<div class="nav-tile-icon" style="background: #f0fdf4; color: #16a34a;"><i class="fa fa-archive" title="Packing Plans"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Master Packing Plans</div>
<small class="text-muted" style="font-size: 11px;">Solid &amp; Ratio Export Cartons</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
<a class="nav-tile" role="button" href="/odoo/action-garment_erp.action_garment_dispatch">
<div class="nav-tile-icon" style="background: #eff6ff; color: #2563eb;"><i class="fa fa-ship" title="Dispatch"/></div>
<div class="flex-grow-1">
<div class="fw-bold" style="font-size: 13.5px;">Dispatch &amp; Shipments</div>
<small class="text-muted" style="font-size: 11px;">Containers, B/L &amp; Port Shipping</small>
</div>
<i class="fa fa-chevron-right nav-tile-arrow" title="Open"/>
</a>
</div>
</div>
</div>
</div>
</div>
</sheet>
</form>
</field>
</record>
<!-- Window Action -->
<record id="action_garment_dashboard" model="ir.actions.act_window">
<field name="name">Factory Control Room Dashboard</field>
<field name="res_model">garment.dashboard</field>
<field name="view_mode">form</field>
<field name="target">current</field>
<field name="res_id" eval="False"/>
</record>
<menuitem id="menu_garment_dashboard" name="Factory Live Dashboard" parent="menu_garment_dashboard_root" action="action_garment_dashboard" sequence="1"/>
</odoo>