add name for each entry of budget & cost table
This commit is contained in:
+98
-98
@@ -2022,12 +2022,12 @@ const MOCK_PROJECTS = [
|
|||||||
changeOrderCount: 0,
|
changeOrderCount: 0,
|
||||||
pendingInvoiceCount: 2,
|
pendingInvoiceCount: 2,
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials - Shingles', allocated: 15000, committed: 14200, actual: 8500 },
|
{ name: 'ABC Supply Co.', category: 'Materials - Shingles', allocated: 15000, committed: 14200, actual: 8500 },
|
||||||
{ category: 'Materials - Underlayment', allocated: 3500, committed: 3355, actual: 3355 },
|
{ name: 'ABC Supply Co.', category: 'Materials - Underlayment', allocated: 3500, committed: 3355, actual: 3355 },
|
||||||
{ category: 'Labor - Tear Off', allocated: 8000, committed: 8000, actual: 8000 },
|
{ name: 'Texas Roofing Crew A', category: 'Labor - Tear Off', allocated: 8000, committed: 8000, actual: 8000 },
|
||||||
{ category: 'Labor - Install', allocated: 12000, committed: 7200, actual: 0 },
|
{ name: 'Texas Roofing Crew A', category: 'Labor - Install', allocated: 12000, committed: 7200, actual: 0 },
|
||||||
{ category: 'Permits & Inspection', allocated: 2500, committed: 2500, actual: 2645 },
|
{ name: 'City of Plano', category: 'Permits & Inspection', allocated: 2500, committed: 2500, actual: 2645 },
|
||||||
{ category: 'Cleanup & Haul-Away', allocated: 4000, committed: 3245, actual: 0 }
|
{ name: 'Junk King DFW', category: 'Cleanup & Haul-Away', allocated: 4000, committed: 3245, actual: 0 }
|
||||||
],
|
],
|
||||||
changeOrders: [],
|
changeOrders: [],
|
||||||
rfis: [],
|
rfis: [],
|
||||||
@@ -2156,11 +2156,11 @@ const MOCK_PROJECTS = [
|
|||||||
{ id: 'ms_003_6', name: 'System Test and Commissioning', dueDate: '2026-02-25', status: 'pending', assignedTo: 'v6' }
|
{ id: 'ms_003_6', name: 'System Test and Commissioning', dueDate: '2026-02-25', status: 'pending', assignedTo: 'v6' }
|
||||||
],
|
],
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Equipment & Materials', allocated: 15000, committed: 15000, actual: 12500 },
|
{ name: 'Comfort Air Systems', category: 'Equipment & Materials', allocated: 15000, committed: 15000, actual: 12500 },
|
||||||
{ category: 'Labor - HVAC', allocated: 8000, committed: 8000, actual: 4000 },
|
{ name: 'Comfort Air Systems', category: 'Labor - HVAC', allocated: 8000, committed: 8000, actual: 4000 },
|
||||||
{ category: 'Labor - Electrical', allocated: 3000, committed: 3000, actual: 0 },
|
{ name: 'Sparky Electric', category: 'Labor - Electrical', allocated: 3000, committed: 3000, actual: 0 },
|
||||||
{ category: 'Permits & Fees', allocated: 1000, committed: 1000, actual: 950 },
|
{ name: 'City of Plano', category: 'Permits & Fees', allocated: 1000, committed: 1000, actual: 950 },
|
||||||
{ category: 'Contingency', allocated: 5000, committed: 1200, actual: 950 }
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 5000, committed: 1200, actual: 950 }
|
||||||
],
|
],
|
||||||
invoices: [
|
invoices: [
|
||||||
{ id: 'inv_003_1', amount: 8200, submittedBy: 'con_001', status: 'paid', dueDate: '2026-01-15', datePaid: '2026-01-16' },
|
{ id: 'inv_003_1', amount: 8200, submittedBy: 'con_001', status: 'paid', dueDate: '2026-01-15', datePaid: '2026-01-16' },
|
||||||
@@ -2232,13 +2232,13 @@ const MOCK_PROJECTS = [
|
|||||||
{ id: 'ms_004_7', name: 'Final Punch List', dueDate: '2026-02-25', status: 'pending', assignedTo: 'con_001' }
|
{ id: 'ms_004_7', name: 'Final Punch List', dueDate: '2026-02-25', status: 'pending', assignedTo: 'con_001' }
|
||||||
],
|
],
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Demolition', allocated: 5000, committed: 5500, actual: 5500 },
|
{ name: 'DemoCrew Pro', category: 'Demolition', allocated: 5000, committed: 5500, actual: 5500 },
|
||||||
{ category: 'Framing & Structural', allocated: 8000, committed: 8500, actual: 8500 },
|
{ name: 'Texas Builders LLC', category: 'Framing & Structural', allocated: 8000, committed: 8500, actual: 8500 },
|
||||||
{ category: 'Electrical', allocated: 7000, committed: 7000, actual: 4800 },
|
{ name: 'Sparky Electric', category: 'Electrical', allocated: 7000, committed: 7000, actual: 4800 },
|
||||||
{ category: 'Plumbing', allocated: 6000, committed: 6500, actual: 6500 },
|
{ name: 'DFW Foundation Pros', category: 'Plumbing', allocated: 6000, committed: 6500, actual: 6500 },
|
||||||
{ category: 'Drywall & Paint', allocated: 9000, committed: 10000, actual: 10000 },
|
{ name: 'Premier Finishes', category: 'Drywall & Paint', allocated: 9000, committed: 10000, actual: 10000 },
|
||||||
{ category: 'Flooring & Trim', allocated: 12000, committed: 15500, actual: 15500 },
|
{ name: 'FloorCraft Inc.', category: 'Flooring & Trim', allocated: 12000, committed: 15500, actual: 15500 },
|
||||||
{ category: 'Contingency', allocated: 8000, committed: 9300, actual: 11500 }
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 8000, committed: 9300, actual: 11500 }
|
||||||
],
|
],
|
||||||
changeOrders: [
|
changeOrders: [
|
||||||
{ id: 'CO-004-01', title: 'Scope Expansion - Kitchen Island', amount: 4500, status: 'approved', dateSubmitted: '2026-01-10', description: 'Add a custom 6ft island with quartz countertop and built-in microwave.' },
|
{ id: 'CO-004-01', title: 'Scope Expansion - Kitchen Island', amount: 4500, status: 'approved', dateSubmitted: '2026-01-10', description: 'Add a custom 6ft island with quartz countertop and built-in microwave.' },
|
||||||
@@ -2316,11 +2316,11 @@ const MOCK_PROJECTS = [
|
|||||||
{ id: 'ms_005_5', name: 'Trim and Caulking', dueDate: '2026-02-15', status: 'pending', assignedTo: 'con_001' }
|
{ id: 'ms_005_5', name: 'Trim and Caulking', dueDate: '2026-02-15', status: 'pending', assignedTo: 'con_001' }
|
||||||
],
|
],
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials - Siding', allocated: 12000, committed: 12000, actual: 8000 },
|
{ name: 'ABC Supply Co.', category: 'Materials - Siding', allocated: 12000, committed: 12000, actual: 8000 },
|
||||||
{ category: 'Labor - Prep & Install', allocated: 9000, committed: 9000, actual: 3500 },
|
{ name: 'Siding Solutions TX', category: 'Labor - Prep & Install', allocated: 9000, committed: 9000, actual: 3500 },
|
||||||
{ category: 'Equipment Rental', allocated: 2000, committed: 2000, actual: 1500 },
|
{ name: 'Sunbelt Rentals', category: 'Equipment Rental', allocated: 2000, committed: 2000, actual: 1500 },
|
||||||
{ category: 'Structural Repairs (CO)', allocated: 0, committed: 850, actual: 850 },
|
{ name: 'Texas Builders LLC', category: 'Structural Repairs (CO)', allocated: 0, committed: 850, actual: 850 },
|
||||||
{ category: 'Contingency', allocated: 5000, committed: 5000, actual: 350 }
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 5000, committed: 5000, actual: 350 }
|
||||||
],
|
],
|
||||||
invoices: [
|
invoices: [
|
||||||
{ id: 'inv_005_1', amount: 8400, submittedBy: 'con_001', status: 'paid', dueDate: '2026-01-12', datePaid: '2026-01-13' },
|
{ id: 'inv_005_1', amount: 8400, submittedBy: 'con_001', status: 'paid', dueDate: '2026-01-12', datePaid: '2026-01-13' },
|
||||||
@@ -2433,14 +2433,14 @@ const MOCK_PROJECTS = [
|
|||||||
changeOrderCount: 0,
|
changeOrderCount: 0,
|
||||||
pendingInvoiceCount: 2,
|
pendingInvoiceCount: 2,
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials - TPO Membrane', allocated: 38000, committed: 35400, actual: 11400 },
|
{ name: 'Firestone Building Products', category: 'Materials - TPO Membrane', allocated: 38000, committed: 35400, actual: 11400 },
|
||||||
{ category: 'Materials - Insulation', allocated: 18000, committed: 16800, actual: 5550 },
|
{ name: 'Owens Corning', category: 'Materials - Insulation', allocated: 18000, committed: 16800, actual: 5550 },
|
||||||
{ category: 'Materials - Fasteners/Adhesive', allocated: 8000, committed: 7200, actual: 2080 },
|
{ name: 'ABC Supply Co.', category: 'Materials - Fasteners/Adhesive', allocated: 8000, committed: 7200, actual: 2080 },
|
||||||
{ category: 'Labor - Section A', allocated: 22000, committed: 18500, actual: 18500 },
|
{ name: 'Texas Roofing Crew A', category: 'Labor - Section A', allocated: 22000, committed: 18500, actual: 18500 },
|
||||||
{ category: 'Labor - Section B', allocated: 22000, committed: 8000, actual: 0 },
|
{ name: 'Texas Roofing Crew A', category: 'Labor - Section B', allocated: 22000, committed: 8000, actual: 0 },
|
||||||
{ category: 'Crane Rental', allocated: 8000, committed: 5600, actual: 4200 },
|
{ name: 'All American Crane', category: 'Crane Rental', allocated: 8000, committed: 5600, actual: 4200 },
|
||||||
{ category: 'Permits & Inspection', allocated: 4000, committed: 3500, actual: 3270 },
|
{ name: 'City of Plano', category: 'Permits & Inspection', allocated: 4000, committed: 3500, actual: 3270 },
|
||||||
{ category: 'Safety Equipment', allocated: 5000, committed: 3000, actual: 3000 }
|
{ name: 'SafetyFirst Supply', category: 'Safety Equipment', allocated: 5000, committed: 3000, actual: 3000 }
|
||||||
],
|
],
|
||||||
changeOrders: [
|
changeOrders: [
|
||||||
{ id: 'CO-007-1', title: 'Additional Drainage Scuppers', amount: 4200, status: 'pending', dateSubmitted: '2026-02-10', description: 'Building management requested 4 additional scuppers on east elevation for improved water management' }
|
{ id: 'CO-007-1', title: 'Additional Drainage Scuppers', amount: 4200, status: 'pending', dateSubmitted: '2026-02-10', description: 'Building management requested 4 additional scuppers on east elevation for improved water management' }
|
||||||
@@ -4363,10 +4363,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 18200, actualCost: 0, variancePercent: 0, completionPct: 25, healthScore: 88,
|
estimatedAmount: 18200, actualCost: 0, variancePercent: 0, completionPct: 25, healthScore: 88,
|
||||||
contractorName: 'Plano Roofing Crew A', contractorPhone: '(972) 555-9001',
|
contractorName: 'Plano Roofing Crew A', contractorPhone: '(972) 555-9001',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 9800, committed: 9800, actual: 0 },
|
{ name: 'ABC Supply Co.', category: 'Materials', allocated: 9800, committed: 9800, actual: 0 },
|
||||||
{ category: 'Labor', allocated: 6200, committed: 6200, actual: 0 },
|
{ name: 'Plano Roofing Crew A', category: 'Labor', allocated: 6200, committed: 6200, actual: 0 },
|
||||||
{ category: 'Permits', allocated: 600, committed: 600, actual: 0 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 600, committed: 600, actual: 0 },
|
||||||
{ category: 'Contingency',allocated: 1600, committed: 0, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency',allocated: 1600, committed: 0, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-22', notes: 'Deposit received.' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-22', notes: 'Deposit received.' },
|
||||||
@@ -4394,10 +4394,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 31500, actualCost: 0, variancePercent: 0, completionPct: 20, healthScore: 85,
|
estimatedAmount: 31500, actualCost: 0, variancePercent: 0, completionPct: 20, healthScore: 85,
|
||||||
contractorName: 'Plano Siding Crew', contractorPhone: '(972) 555-9002',
|
contractorName: 'Plano Siding Crew', contractorPhone: '(972) 555-9002',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 17000, committed: 17000, actual: 0 },
|
{ name: 'Owens Corning', category: 'Materials', allocated: 17000, committed: 17000, actual: 0 },
|
||||||
{ category: 'Labor', allocated: 11500, committed: 11500, actual: 0 },
|
{ name: 'Plano Siding Crew', category: 'Labor', allocated: 11500, committed: 11500, actual: 0 },
|
||||||
{ category: 'Permits', allocated: 800, committed: 800, actual: 0 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 800, committed: 800, actual: 0 },
|
||||||
{ category: 'Contingency',allocated: 2200, committed: 0, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency',allocated: 2200, committed: 0, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-20', notes: 'Insurance approved full scope.' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-20', notes: 'Insurance approved full scope.' },
|
||||||
@@ -4428,10 +4428,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 27800, actualCost: 0, variancePercent: 0, completionPct: 28, healthScore: 92,
|
estimatedAmount: 27800, actualCost: 0, variancePercent: 0, completionPct: 28, healthScore: 92,
|
||||||
contractorName: 'Plano Roofing Crew B', contractorPhone: '(972) 555-9003',
|
contractorName: 'Plano Roofing Crew B', contractorPhone: '(972) 555-9003',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 15200, committed: 15200, actual: 0 },
|
{ name: 'GAF Materials', category: 'Materials', allocated: 15200, committed: 15200, actual: 0 },
|
||||||
{ category: 'Labor', allocated: 9800, committed: 9800, actual: 0 },
|
{ name: 'Plano Roofing Crew B', category: 'Labor', allocated: 9800, committed: 9800, actual: 0 },
|
||||||
{ category: 'Permits', allocated: 600, committed: 600, actual: 0 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 600, committed: 600, actual: 0 },
|
||||||
{ category: 'Contingency',allocated: 2200, committed: 0, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency',allocated: 2200, committed: 0, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-11', notes: '50% deposit received.' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-11', notes: '50% deposit received.' },
|
||||||
@@ -4458,11 +4458,11 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 22400, actualCost: 0, variancePercent: 0, completionPct: 22, healthScore: 86,
|
estimatedAmount: 22400, actualCost: 0, variancePercent: 0, completionPct: 22, healthScore: 86,
|
||||||
contractorName: 'Plano Roofing Crew A', contractorPhone: '(972) 555-9001',
|
contractorName: 'Plano Roofing Crew A', contractorPhone: '(972) 555-9001',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Roofing Materials', allocated: 10800, committed: 10800, actual: 0 },
|
{ name: 'ABC Supply Co.', category: 'Roofing Materials', allocated: 10800, committed: 10800, actual: 0 },
|
||||||
{ category: 'Gutter Materials', allocated: 3400, committed: 3400, actual: 0 },
|
{ name: 'LeafGuard DFW', category: 'Gutter Materials', allocated: 3400, committed: 3400, actual: 0 },
|
||||||
{ category: 'Labor', allocated: 6400, committed: 6400, actual: 0 },
|
{ name: 'Plano Roofing Crew A', category: 'Labor', allocated: 6400, committed: 6400, actual: 0 },
|
||||||
{ category: 'Permits', allocated: 600, committed: 600, actual: 0 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 600, committed: 600, actual: 0 },
|
||||||
{ category: 'Contingency', allocated: 1200, committed: 0, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 1200, committed: 0, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-25', notes: 'Install Apr 18.' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-25', notes: 'Install Apr 18.' },
|
||||||
@@ -4489,10 +4489,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 19600, actualCost: 0, variancePercent: 0, completionPct: 24, healthScore: 80,
|
estimatedAmount: 19600, actualCost: 0, variancePercent: 0, completionPct: 24, healthScore: 80,
|
||||||
contractorName: 'Plano Roofing Crew C', contractorPhone: '(972) 555-9004',
|
contractorName: 'Plano Roofing Crew C', contractorPhone: '(972) 555-9004',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 10500, committed: 10500, actual: 0 },
|
{ name: 'James Hardie', category: 'Materials', allocated: 10500, committed: 10500, actual: 0 },
|
||||||
{ category: 'Labor', allocated: 7000, committed: 7000, actual: 0 },
|
{ name: 'Plano Roofing Crew C', category: 'Labor', allocated: 7000, committed: 7000, actual: 0 },
|
||||||
{ category: 'Permits', allocated: 600, committed: 600, actual: 0 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 600, committed: 600, actual: 0 },
|
||||||
{ category: 'Contingency',allocated: 1500, committed: 0, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency',allocated: 1500, committed: 0, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-28', notes: 'Supplement approved after adjuster re-inspection.' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-28', notes: 'Supplement approved after adjuster re-inspection.' },
|
||||||
@@ -4523,10 +4523,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 16800, actualCost: 9200, variancePercent: -3.6, completionPct: 65, healthScore: 82,
|
estimatedAmount: 16800, actualCost: 9200, variancePercent: -3.6, completionPct: 65, healthScore: 82,
|
||||||
contractorName: 'Plano Roofing Crew A', contractorPhone: '(972) 555-9001',
|
contractorName: 'Plano Roofing Crew A', contractorPhone: '(972) 555-9001',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 9000, committed: 9000, actual: 8600 },
|
{ name: 'ABC Supply Co.', category: 'Materials', allocated: 9000, committed: 9000, actual: 8600 },
|
||||||
{ category: 'Labor', allocated: 5800, committed: 5800, actual: 600 },
|
{ name: 'Plano Roofing Crew A', category: 'Labor', allocated: 5800, committed: 5800, actual: 600 },
|
||||||
{ category: 'Permits', allocated: 600, committed: 600, actual: 600 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 600, committed: 600, actual: 600 },
|
||||||
{ category: 'Contingency',allocated: 1400, committed: 0, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency',allocated: 1400, committed: 0, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-28', notes: '' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-28', notes: '' },
|
||||||
@@ -4557,10 +4557,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 28500, actualCost: 14800, variancePercent: 1.4, completionPct: 55, healthScore: 78,
|
estimatedAmount: 28500, actualCost: 14800, variancePercent: 1.4, completionPct: 55, healthScore: 78,
|
||||||
contractorName: 'Plano Siding Crew', contractorPhone: '(972) 555-9002',
|
contractorName: 'Plano Siding Crew', contractorPhone: '(972) 555-9002',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 15400, committed: 15400, actual: 14200 },
|
{ name: 'Owens Corning', category: 'Materials', allocated: 15400, committed: 15400, actual: 14200 },
|
||||||
{ category: 'Labor', allocated: 10400, committed: 10400, actual: 600 },
|
{ name: 'Plano Siding Crew', category: 'Labor', allocated: 10400, committed: 10400, actual: 600 },
|
||||||
{ category: 'Permits', allocated: 800, committed: 800, actual: 800 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 800, committed: 800, actual: 800 },
|
||||||
{ category: 'Contingency', allocated: 1900, committed: 400, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 1900, committed: 400, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-25', notes: '' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-25', notes: '' },
|
||||||
@@ -4591,11 +4591,11 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 21200, actualCost: 16100, variancePercent: -4.2, completionPct: 78, healthScore: 88,
|
estimatedAmount: 21200, actualCost: 16100, variancePercent: -4.2, completionPct: 78, healthScore: 88,
|
||||||
contractorName: 'Plano Roofing Crew B', contractorPhone: '(972) 555-9003',
|
contractorName: 'Plano Roofing Crew B', contractorPhone: '(972) 555-9003',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Roofing Materials', allocated: 10200, committed: 10200, actual: 9800 },
|
{ name: 'ABC Supply Co.', category: 'Roofing Materials', allocated: 10200, committed: 10200, actual: 9800 },
|
||||||
{ category: 'Gutter Materials', allocated: 3200, committed: 3200, actual: 3100 },
|
{ name: 'LeafGuard DFW', category: 'Gutter Materials', allocated: 3200, committed: 3200, actual: 3100 },
|
||||||
{ category: 'Labor', allocated: 6000, committed: 6000, actual: 3200 },
|
{ name: 'Plano Roofing Crew B', category: 'Labor', allocated: 6000, committed: 6000, actual: 3200 },
|
||||||
{ category: 'Permits', allocated: 600, committed: 600, actual: 600 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 600, committed: 600, actual: 600 },
|
||||||
{ category: 'Contingency', allocated: 1200, committed: 0, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 1200, committed: 0, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-24', notes: '' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-24', notes: '' },
|
||||||
@@ -4625,10 +4625,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 34500, actualCost: 22000, variancePercent: 2.9, completionPct: 60, healthScore: 90,
|
estimatedAmount: 34500, actualCost: 22000, variancePercent: 2.9, completionPct: 60, healthScore: 90,
|
||||||
contractorName: 'Plano Roofing Crew C', contractorPhone: '(972) 555-9004',
|
contractorName: 'Plano Roofing Crew C', contractorPhone: '(972) 555-9004',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Premium Materials', allocated: 19200, committed: 19200, actual: 18800 },
|
{ name: 'Owens Corning', category: 'Premium Materials', allocated: 19200, committed: 19200, actual: 18800 },
|
||||||
{ category: 'Labor', allocated: 12000, committed: 12000, actual: 3200 },
|
{ name: 'Plano Roofing Crew C', category: 'Labor', allocated: 12000, committed: 12000, actual: 3200 },
|
||||||
{ category: 'Permits', allocated: 700, committed: 700, actual: 700 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 700, committed: 700, actual: 700 },
|
||||||
{ category: 'Contingency', allocated: 2600, committed: 1000, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 2600, committed: 1000, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-03', notes: 'Cash client. Barkwood color selected.' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-03', notes: 'Cash client. Barkwood color selected.' },
|
||||||
@@ -4656,10 +4656,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 9400, actualCost: 6200, variancePercent: -1.1, completionPct: 70, healthScore: 84,
|
estimatedAmount: 9400, actualCost: 6200, variancePercent: -1.1, completionPct: 70, healthScore: 84,
|
||||||
contractorName: 'Plano Siding Crew', contractorPhone: '(972) 555-9002',
|
contractorName: 'Plano Siding Crew', contractorPhone: '(972) 555-9002',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 4800, committed: 4800, actual: 4600 },
|
{ name: 'GAF Materials', category: 'Materials', allocated: 4800, committed: 4800, actual: 4600 },
|
||||||
{ category: 'Labor', allocated: 3600, committed: 3600, actual: 1600 },
|
{ name: 'Plano Siding Crew', category: 'Labor', allocated: 3600, committed: 3600, actual: 1600 },
|
||||||
{ category: 'Permits', allocated: 500, committed: 500, actual: 500 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 500, committed: 500, actual: 500 },
|
||||||
{ category: 'Contingency',allocated: 500, committed: 0, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency',allocated: 500, committed: 0, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-07', notes: '' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-03-07', notes: '' },
|
||||||
@@ -4686,10 +4686,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 42000, actualCost: 18000, variancePercent: 0.8, completionPct: 45, healthScore: 74,
|
estimatedAmount: 42000, actualCost: 18000, variancePercent: 0.8, completionPct: 45, healthScore: 74,
|
||||||
contractorName: 'Plano Roofing Crew A', contractorPhone: '(972) 555-9001',
|
contractorName: 'Plano Roofing Crew A', contractorPhone: '(972) 555-9001',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 22000, committed: 22000, actual: 17200 },
|
{ name: 'James Hardie', category: 'Materials', allocated: 22000, committed: 22000, actual: 17200 },
|
||||||
{ category: 'Labor', allocated: 15500, committed: 15500, actual: 800 },
|
{ name: 'Plano Roofing Crew A', category: 'Labor', allocated: 15500, committed: 15500, actual: 800 },
|
||||||
{ category: 'Permits', allocated: 900, committed: 900, actual: 900 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 900, committed: 900, actual: 900 },
|
||||||
{ category: 'Contingency', allocated: 3600, committed: 2000, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 3600, committed: 2000, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-15', notes: 'Largest job this quarter.' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-15', notes: 'Largest job this quarter.' },
|
||||||
@@ -4721,10 +4721,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 17200, actualCost: 16950, variancePercent: -1.5, completionPct: 100, healthScore: 95,
|
estimatedAmount: 17200, actualCost: 16950, variancePercent: -1.5, completionPct: 100, healthScore: 95,
|
||||||
contractorName: 'Plano Roofing Crew B', contractorPhone: '(972) 555-9003',
|
contractorName: 'Plano Roofing Crew B', contractorPhone: '(972) 555-9003',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 9200, committed: 9200, actual: 8980 },
|
{ name: 'ABC Supply Co.', category: 'Materials', allocated: 9200, committed: 9200, actual: 8980 },
|
||||||
{ category: 'Labor', allocated: 6000, committed: 6000, actual: 6000 },
|
{ name: 'Plano Roofing Crew B', category: 'Labor', allocated: 6000, committed: 6000, actual: 6000 },
|
||||||
{ category: 'Permits', allocated: 600, committed: 600, actual: 600 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 600, committed: 600, actual: 600 },
|
||||||
{ category: 'Contingency', allocated: 1400, committed: 400, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 1400, committed: 400, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-01', notes: '' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-01', notes: '' },
|
||||||
@@ -4754,10 +4754,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 26400, actualCost: 26100, variancePercent: -1.1, completionPct: 100, healthScore: 93,
|
estimatedAmount: 26400, actualCost: 26100, variancePercent: -1.1, completionPct: 100, healthScore: 93,
|
||||||
contractorName: 'Plano Siding Crew', contractorPhone: '(972) 555-9002',
|
contractorName: 'Plano Siding Crew', contractorPhone: '(972) 555-9002',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 14200, committed: 14200, actual: 13900 },
|
{ name: 'Owens Corning', category: 'Materials', allocated: 14200, committed: 14200, actual: 13900 },
|
||||||
{ category: 'Labor', allocated: 9600, committed: 9600, actual: 9600 },
|
{ name: 'Plano Siding Crew', category: 'Labor', allocated: 9600, committed: 9600, actual: 9600 },
|
||||||
{ category: 'Permits', allocated: 800, committed: 800, actual: 800 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 800, committed: 800, actual: 800 },
|
||||||
{ category: 'Contingency', allocated: 1800, committed: 200, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 1800, committed: 200, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-01-28', notes: '' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-01-28', notes: '' },
|
||||||
@@ -4786,10 +4786,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 22100, actualCost: 21800, variancePercent: -1.4, completionPct: 100, healthScore: 97,
|
estimatedAmount: 22100, actualCost: 21800, variancePercent: -1.4, completionPct: 100, healthScore: 97,
|
||||||
contractorName: 'Plano Roofing Crew C', contractorPhone: '(972) 555-9004',
|
contractorName: 'Plano Roofing Crew C', contractorPhone: '(972) 555-9004',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 12000, committed: 12000, actual: 11800 },
|
{ name: 'GAF Materials', category: 'Materials', allocated: 12000, committed: 12000, actual: 11800 },
|
||||||
{ category: 'Labor', allocated: 7800, committed: 7800, actual: 7800 },
|
{ name: 'Plano Roofing Crew C', category: 'Labor', allocated: 7800, committed: 7800, actual: 7800 },
|
||||||
{ category: 'Permits', allocated: 600, committed: 600, actual: 600 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 600, committed: 600, actual: 600 },
|
||||||
{ category: 'Contingency', allocated: 1700, committed: 0, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 1700, committed: 0, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-01-30', notes: 'Full payment upfront.' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-01-30', notes: 'Full payment upfront.' },
|
||||||
@@ -4815,11 +4815,11 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 8900, actualCost: 8650, variancePercent: -2.8, completionPct: 100, healthScore: 96,
|
estimatedAmount: 8900, actualCost: 8650, variancePercent: -2.8, completionPct: 100, healthScore: 96,
|
||||||
contractorName: 'Plano Roofing Crew A', contractorPhone: '(972) 555-9001',
|
contractorName: 'Plano Roofing Crew A', contractorPhone: '(972) 555-9001',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Gutter Materials', allocated: 3800, committed: 3800, actual: 3600 },
|
{ name: 'LeafGuard DFW', category: 'Gutter Materials', allocated: 3800, committed: 3800, actual: 3600 },
|
||||||
{ category: 'Fascia Materials', allocated: 1800, committed: 1800, actual: 1800 },
|
{ name: 'James Hardie', category: 'Fascia Materials', allocated: 1800, committed: 1800, actual: 1800 },
|
||||||
{ category: 'Labor', allocated: 2600, committed: 2600, actual: 2600 },
|
{ name: 'Plano Roofing Crew A', category: 'Labor', allocated: 2600, committed: 2600, actual: 2600 },
|
||||||
{ category: 'Permits', allocated: 400, committed: 400, actual: 400 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 400, committed: 400, actual: 400 },
|
||||||
{ category: 'Contingency', allocated: 300, committed: 0, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 300, committed: 0, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-10', notes: '' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-10', notes: '' },
|
||||||
@@ -4845,10 +4845,10 @@ const KANBAN_PROJECT_DATA = {
|
|||||||
estimatedAmount: 19400, actualCost: 20100, variancePercent: 3.6, completionPct: 100, healthScore: 87,
|
estimatedAmount: 19400, actualCost: 20100, variancePercent: 3.6, completionPct: 100, healthScore: 87,
|
||||||
contractorName: 'Plano Roofing Crew B', contractorPhone: '(972) 555-9003',
|
contractorName: 'Plano Roofing Crew B', contractorPhone: '(972) 555-9003',
|
||||||
budgetBreakdown: [
|
budgetBreakdown: [
|
||||||
{ category: 'Materials', allocated: 10400, committed: 10400, actual: 11200 },
|
{ name: 'James Hardie', category: 'Materials', allocated: 10400, committed: 10400, actual: 11200 },
|
||||||
{ category: 'Labor', allocated: 6800, committed: 6800, actual: 6800 },
|
{ name: 'Plano Roofing Crew B', category: 'Labor', allocated: 6800, committed: 6800, actual: 6800 },
|
||||||
{ category: 'Permits', allocated: 600, committed: 600, actual: 600 },
|
{ name: 'City of Plano', category: 'Permits', allocated: 600, committed: 600, actual: 600 },
|
||||||
{ category: 'Contingency', allocated: 1600, committed: 1600, actual: 0 },
|
{ name: 'Reserve Fund', category: 'Contingency', allocated: 1600, committed: 1600, actual: 0 },
|
||||||
],
|
],
|
||||||
milestones: [
|
milestones: [
|
||||||
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-04', notes: '' },
|
{ id: 'm1', name: 'Contract Signed', status: 'completed', date: '2026-02-04', notes: '' },
|
||||||
|
|||||||
Reference in New Issue
Block a user