fix(data): trade-correct vendors, margins, and timeline details on converted projects

This commit is contained in:
Satyam Rastogi
2026-05-29 15:20:01 +05:30
parent 4b2bb37b3b
commit 2b741dd0b5
+11 -11
View File
@@ -3322,7 +3322,7 @@ const MOCK_PROJECTS = [
changeOrderCount: 1, changeOrderCount: 1,
pendingInvoiceCount: 0, pendingInvoiceCount: 0,
budgetBreakdown: [ budgetBreakdown: [
{ name: 'James Hardie', category: 'Materials', allocated: 10500, committed: 10500, actual: 0 }, { name: 'Owens Corning', category: 'Materials', allocated: 10500, committed: 10500, actual: 0 },
{ name: 'Plano Roofing Crew C', category: 'Labor', allocated: 7000, committed: 7000, actual: 0 }, { name: 'Plano Roofing Crew C', category: 'Labor', allocated: 7000, committed: 7000, actual: 0 },
{ name: 'City of Plano', category: 'Permits', allocated: 600, committed: 600, actual: 0 }, { name: 'City of Plano', category: 'Permits', allocated: 600, committed: 600, actual: 0 },
{ name: 'Reserve Fund', category: 'Contingency', allocated: 1500, committed: 0, actual: 0 }, { name: 'Reserve Fund', category: 'Contingency', allocated: 1500, committed: 0, actual: 0 },
@@ -3591,7 +3591,7 @@ const MOCK_PROJECTS = [
{ id: 'ms_020_8', name: 'Invoice & Payment', dueDate: '2026-04-10', status: 'pending', assignedTo: 'con_001' }, { id: 'ms_020_8', name: 'Invoice & Payment', dueDate: '2026-04-10', status: 'pending', assignedTo: 'con_001' },
], ],
activityTimeline: [ activityTimeline: [
{ date: '2026-02-24', action: 'Contract Executed', user: 'Shelby Greer', details: '' }, { date: '2026-02-24', action: 'Contract Executed', user: 'Shelby Greer', details: 'Insurance scope approved — deposit collected and production scheduled.' },
{ date: '2026-03-20', action: 'Roofing Started', user: 'Darlene Brooks', details: 'Production underway — roofing crew Day 1.' }, { date: '2026-03-20', action: 'Roofing Started', user: 'Darlene Brooks', details: 'Production underway — roofing crew Day 1.' },
{ date: '2026-03-22', action: 'Roofing Complete', user: 'Darlene Brooks', details: 'Roof done. Progress invoice sent.' }, { date: '2026-03-22', action: 'Roofing Complete', user: 'Darlene Brooks', details: 'Roof done. Progress invoice sent.' },
{ date: '2026-04-07', action: 'Gutter Install', user: 'Darlene Brooks', details: 'Gutter crew arriving today for 1-day install.' }, { date: '2026-04-07', action: 'Gutter Install', user: 'Darlene Brooks', details: 'Gutter crew arriving today for 1-day install.' },
@@ -3643,7 +3643,7 @@ const MOCK_PROJECTS = [
healthScore: 90, healthScore: 90,
openRFIs: 1, openRFIs: 1,
changeOrderCount: 0, changeOrderCount: 0,
pendingInvoiceCount: 1, pendingInvoiceCount: 0,
budgetBreakdown: [ budgetBreakdown: [
{ name: 'Owens Corning', category: 'Premium Materials', allocated: 19200, committed: 19200, actual: 18800 }, { name: 'Owens Corning', category: 'Premium Materials', allocated: 19200, committed: 19200, actual: 18800 },
{ name: 'Plano Roofing Crew C', category: 'Labor', allocated: 12000, committed: 12000, actual: 3200 }, { name: 'Plano Roofing Crew C', category: 'Labor', allocated: 12000, committed: 12000, actual: 3200 },
@@ -3723,7 +3723,7 @@ const MOCK_PROJECTS = [
changeOrderCount: 0, changeOrderCount: 0,
pendingInvoiceCount: 1, pendingInvoiceCount: 1,
budgetBreakdown: [ budgetBreakdown: [
{ name: 'GAF Materials', category: 'Materials', allocated: 4800, committed: 4800, actual: 4600 }, { name: 'James Hardie', category: 'Materials', allocated: 4800, committed: 4800, actual: 4600 },
{ name: 'Plano Siding Crew', category: 'Labor', allocated: 3600, committed: 3600, actual: 1600 }, { name: 'Plano Siding Crew', category: 'Labor', allocated: 3600, committed: 3600, actual: 1600 },
{ name: 'City of Plano', category: 'Permits', allocated: 500, committed: 500, actual: 500 }, { name: 'City of Plano', category: 'Permits', allocated: 500, committed: 500, actual: 500 },
{ name: 'Reserve Fund', category: 'Contingency', allocated: 500, committed: 0, actual: 0 }, { name: 'Reserve Fund', category: 'Contingency', allocated: 500, committed: 0, actual: 0 },
@@ -3800,7 +3800,7 @@ const MOCK_PROJECTS = [
changeOrderCount: 0, changeOrderCount: 0,
pendingInvoiceCount: 1, pendingInvoiceCount: 1,
budgetBreakdown: [ budgetBreakdown: [
{ name: 'James Hardie', category: 'Materials', allocated: 22000, committed: 22000, actual: 17200 }, { name: 'Owens Corning', category: 'Materials', allocated: 22000, committed: 22000, actual: 17200 },
{ name: 'Plano Roofing Crew A', category: 'Labor', allocated: 15500, committed: 15500, actual: 800 }, { name: 'Plano Roofing Crew A', category: 'Labor', allocated: 15500, committed: 15500, actual: 800 },
{ name: 'City of Plano', category: 'Permits', allocated: 900, committed: 900, actual: 900 }, { name: 'City of Plano', category: 'Permits', allocated: 900, committed: 900, actual: 900 },
{ name: 'Reserve Fund', category: 'Contingency', allocated: 3600, committed: 2000, actual: 0 }, { name: 'Reserve Fund', category: 'Contingency', allocated: 3600, committed: 2000, actual: 0 },
@@ -3909,7 +3909,7 @@ const MOCK_PROJECTS = [
{ id: 'ms_024_7', name: 'Invoice & Payment', dueDate: '2026-03-01', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_024_7', name: 'Invoice & Payment', dueDate: '2026-03-01', status: 'completed', assignedTo: 'con_001' },
], ],
activityTimeline: [ activityTimeline: [
{ date: '2026-02-01', action: 'Contract Executed', user: 'Cody Tatum', details: '' }, { date: '2026-02-01', action: 'Contract Executed', user: 'Cody Tatum', details: 'Insurance scope approved and signed — deposit collected at signing.' },
{ date: '2026-02-20', action: 'Production Started', user: 'Wade Hollis', details: 'Tear-off crew on site.' }, { date: '2026-02-20', action: 'Production Started', user: 'Wade Hollis', details: 'Tear-off crew on site.' },
{ date: '2026-02-21', action: 'Install Complete', user: 'Wade Hollis', details: 'Full install done in 1 day.' }, { date: '2026-02-21', action: 'Install Complete', user: 'Wade Hollis', details: 'Full install done in 1 day.' },
{ date: '2026-02-28', action: 'Final Inspection', user: 'Wade Hollis', details: 'Passed. Client extremely happy. 5-star review.' }, { date: '2026-02-28', action: 'Final Inspection', user: 'Wade Hollis', details: 'Passed. Client extremely happy. 5-star review.' },
@@ -3990,7 +3990,7 @@ const MOCK_PROJECTS = [
{ id: 'ms_025_8', name: 'Invoice & Payment',dueDate: '2026-02-22', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_025_8', name: 'Invoice & Payment',dueDate: '2026-02-22', status: 'completed', assignedTo: 'con_001' },
], ],
activityTimeline: [ activityTimeline: [
{ date: '2026-01-28', action: 'Contract Executed', user: 'Shelby Greer', details: '' }, { date: '2026-01-28', action: 'Contract Executed', user: 'Shelby Greer', details: 'Insurance scope approved — deposit collected at signing.' },
{ date: '2026-02-15', action: 'Production Started', user: 'Darlene Brooks', details: 'Demo and install started same day.' }, { date: '2026-02-15', action: 'Production Started', user: 'Darlene Brooks', details: 'Demo and install started same day.' },
{ date: '2026-02-22', action: 'Project Closed', user: 'Darlene Brooks', details: 'Insurance check received and deposited. File closed.' }, { date: '2026-02-22', action: 'Project Closed', user: 'Darlene Brooks', details: 'Insurance check received and deposited. File closed.' },
], ],
@@ -4063,7 +4063,7 @@ const MOCK_PROJECTS = [
{ id: 'ms_026_4', name: 'Tear-off & Decking', dueDate: '2026-02-18', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_026_4', name: 'Tear-off & Decking', dueDate: '2026-02-18', status: 'completed', assignedTo: 'con_001' },
{ id: 'ms_026_5', name: 'Roofing Install', dueDate: '2026-02-19', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_026_5', name: 'Roofing Install', dueDate: '2026-02-19', status: 'completed', assignedTo: 'con_001' },
{ id: 'ms_026_6', name: 'Final Inspection', dueDate: '2026-02-20', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_026_6', name: 'Final Inspection', dueDate: '2026-02-20', status: 'completed', assignedTo: 'con_001' },
{ id: 'ms_026_7', name: 'Invoice & Payment', dueDate: '2026-01-30', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_026_7', name: 'Upfront Payment Collected', dueDate: '2026-01-30', status: 'completed', assignedTo: 'con_001' },
], ],
activityTimeline: [ activityTimeline: [
{ date: '2026-01-30', action: 'Contract Executed', user: 'Hannah Reyes', details: 'Cash client. Full payment upfront.' }, { date: '2026-01-30', action: 'Contract Executed', user: 'Hannah Reyes', details: 'Cash client. Full payment upfront.' },
@@ -4144,7 +4144,7 @@ const MOCK_PROJECTS = [
{ id: 'ms_027_6', name: 'Invoice & Payment', dueDate: '2026-03-02', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_027_6', name: 'Invoice & Payment', dueDate: '2026-03-02', status: 'completed', assignedTo: 'con_001' },
], ],
activityTimeline: [ activityTimeline: [
{ date: '2026-02-10', action: 'Contract Executed', user: 'Dalton Pruitt', details: '' }, { date: '2026-02-10', action: 'Contract Executed', user: 'Dalton Pruitt', details: 'Insurance claim approved — scope agreed and deposit collected at signing.' },
{ date: '2026-02-28', action: 'Production Started',user: 'Wade Hollis', details: 'Fascia repair started.' }, { date: '2026-02-28', action: 'Production Started',user: 'Wade Hollis', details: 'Fascia repair started.' },
{ date: '2026-03-02', action: 'Project Closed', user: 'Wade Hollis', details: 'Complete. Customer gave referral cards to 3 neighbors.' }, { date: '2026-03-02', action: 'Project Closed', user: 'Wade Hollis', details: 'Complete. Customer gave referral cards to 3 neighbors.' },
], ],
@@ -4181,7 +4181,7 @@ const MOCK_PROJECTS = [
actualCost: 18600, actualCost: 18600,
spent: 18600, spent: 18600,
variancePercent: -4.1, variancePercent: -4.1,
margin: 0.00, margin: 0.04,
commissionType: 'percent_gross', commissionType: 'percent_gross',
commissionRate: 10, commissionRate: 10,
commission: 1940, commission: 1940,
@@ -4224,7 +4224,7 @@ const MOCK_PROJECTS = [
{ id: 'ms_028_7', name: 'Invoice & Payment', dueDate: '2026-03-20', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_028_7', name: 'Invoice & Payment', dueDate: '2026-03-20', status: 'completed', assignedTo: 'con_001' },
], ],
activityTimeline: [ activityTimeline: [
{ date: '2026-02-04', action: 'Contract Executed', user: 'Shelby Greer', details: '' }, { date: '2026-02-04', action: 'Contract Executed', user: 'Shelby Greer', details: 'Insurance supplemental approved after negotiation — deposit collected at signing.' },
{ date: '2026-03-10', action: 'Production Started', user: 'Wade Hollis', details: 'Tear-off found 3 rotted deck sheets. CO raised.' }, { date: '2026-03-10', action: 'Production Started', user: 'Wade Hollis', details: 'Tear-off found 3 rotted deck sheets. CO raised.' },
{ date: '2026-03-12', action: 'Install Complete', user: 'Wade Hollis', details: 'Roofing complete.' }, { date: '2026-03-12', action: 'Install Complete', user: 'Wade Hollis', details: 'Roofing complete.' },
{ date: '2026-03-20', action: 'Project Closed', user: 'Wade Hollis', details: 'Longest close — 7 weeks due to complex insurance supplemental.' }, { date: '2026-03-20', action: 'Project Closed', user: 'Wade Hollis', details: 'Longest close — 7 weeks due to complex insurance supplemental.' },