updates on the by rider calculations on the dispatch page section

This commit is contained in:
2026-06-30 12:32:14 +05:30
parent ec01b32e71
commit 1dde4a471a

View File

@@ -3064,23 +3064,36 @@ const Dispatch = ({
)} )}
</div> </div>
{(o.kms != null || o.riderkms != null || estMeters !== null) && ( {(o.plannedkms != null || o.kms != null || o.actualkms != null || o.riderkms != null || estMeters !== null) && (
<div className="pu-distance-row"> <div className="pu-distance-row">
{o.kms != null && o.kms !== '' && ( {(o.plannedkms != null && o.plannedkms !== '') ? (
<div className="pu-distance-chip">
<span className="pu-distance-icon"><MdStraighten /></span>
<span className="pu-distance-label">Planned</span>
<span className="pu-distance-value">{parseFloat(o.plannedkms).toFixed(1)} km</span>
</div>
) : o.kms != null && o.kms !== '' ? (
<div className="pu-distance-chip"> <div className="pu-distance-chip">
<span className="pu-distance-icon"><MdStraighten /></span> <span className="pu-distance-icon"><MdStraighten /></span>
<span className="pu-distance-label">Planned</span> <span className="pu-distance-label">Planned</span>
<span className="pu-distance-value">{parseFloat(o.kms).toFixed(1)} km</span> <span className="pu-distance-value">{parseFloat(o.kms).toFixed(1)} km</span>
</div> </div>
) : null}
{o.actualkms != null && o.actualkms !== '' && (
<div className="pu-distance-chip">
<span className="pu-distance-icon"><MdStraighten /></span>
<span className="pu-distance-label">Actual</span>
<span className="pu-distance-value">{parseFloat(o.actualkms).toFixed(1)} km</span>
</div>
)} )}
{o.riderkms != null && o.riderkms !== '' && ( {o.riderkms != null && o.riderkms !== '' && (
<div className="pu-distance-chip"> <div className="pu-distance-chip">
<span className="pu-distance-icon"><MdStraighten /></span> <span className="pu-distance-icon"><MdStraighten /></span>
<span className="pu-distance-label">Actual</span> <span className="pu-distance-label">Rider KMs</span>
<span className="pu-distance-value">{parseFloat(o.riderkms).toFixed(1)} km</span> <span className="pu-distance-value">{parseFloat(o.riderkms).toFixed(1)} km</span>
</div> </div>
)} )}
{estMeters !== null && ( {estMeters !== null && (
<div className="pu-distance-chip pu-est-meters" title="Estimated distance to drop location"> <div className="pu-distance-chip pu-est-meters" title="Estimated distance to drop location">
<span className="pu-distance-icon"><MdMyLocation /></span> <span className="pu-distance-icon"><MdMyLocation /></span>
<span className="pu-distance-label">Est. to Drop</span> <span className="pu-distance-label">Est. to Drop</span>
@@ -4297,9 +4310,9 @@ const Dispatch = ({
<> <>
<div className="rd-rider-name" style={{ color: focusedRider.color }}>{focusedRider.riderName}</div> <div className="rd-rider-name" style={{ color: focusedRider.color }}>{focusedRider.riderName}</div>
{(() => { {(() => {
const totalKm = focusedRider.orders.reduce((s, o) => s + parseFloat(o.actualkms || o.kms || 0), 0); const actualKm = focusedRider.orders.reduce((s, o) => s + parseFloat(o.actualkms || 0), 0);
const totalProfit = focusedRider.orders.reduce((s, o) => s + parseFloat(o.profit || 0), 0); const riderKm = focusedRider.orders.reduce((s, o) => s + parseFloat(o.riderkms || 0), 0);
const isLoss = totalProfit < 0; const cumulativeKm = focusedRider.orders.reduce((s, o) => s + parseFloat(o.cumulativekms || 0), 0);
return ( return (
<div className="rd-stats-grid"> <div className="rd-stats-grid">
<div className="rd-stat rd-stat-orders"> <div className="rd-stat rd-stat-orders">
@@ -4309,15 +4322,18 @@ const Dispatch = ({
</div> </div>
<div className="rd-stat rd-stat-distance"> <div className="rd-stat rd-stat-distance">
<div className="rd-stat-icon"><MdStraighten /></div> <div className="rd-stat-icon"><MdStraighten /></div>
<div className="rd-stat-value">{totalKm.toFixed(1)}<span className="rd-stat-unit">km</span></div> <div className="rd-stat-value">{actualKm.toFixed(1)}<span className="rd-stat-unit">km</span></div>
<div className="rd-stat-label">Distance</div> <div className="rd-stat-label">Actual KMs</div>
</div> </div>
<div className={`rd-stat rd-stat-profit ${isLoss ? 'is-loss' : 'is-gain'}`}> <div className="rd-stat rd-stat-distance">
<div className="rd-stat-icon">{isLoss ? <MdTrendingDown /> : <MdTrendingUp />}</div> <div className="rd-stat-icon"><MdStraighten /></div>
<div className="rd-stat-value"> <div className="rd-stat-value">{riderKm.toFixed(1)}<span className="rd-stat-unit">km</span></div>
{isLoss ? '-' : ''}{Math.abs(totalProfit).toFixed(0)} <div className="rd-stat-label">Rider KMs</div>
</div> </div>
<div className="rd-stat-label">{isLoss ? 'Loss' : 'Revenue'}</div> <div className="rd-stat rd-stat-distance">
<div className="rd-stat-icon"><MdStraighten /></div>
<div className="rd-stat-value">{cumulativeKm.toFixed(1)}<span className="rd-stat-unit">km</span></div>
<div className="rd-stat-label">Cumulative KMs</div>
</div> </div>
</div> </div>
); );