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>
{(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">
{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">
<span className="pu-distance-icon"><MdStraighten /></span>
<span className="pu-distance-label">Planned</span>
<span className="pu-distance-value">{parseFloat(o.kms).toFixed(1)} km</span>
</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 !== '' && (
<div className="pu-distance-chip">
<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>
</div>
)}
{estMeters !== null && (
{estMeters !== null && (
<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-label">Est. to Drop</span>
@@ -4297,9 +4310,9 @@ const Dispatch = ({
<>
<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 totalProfit = focusedRider.orders.reduce((s, o) => s + parseFloat(o.profit || 0), 0);
const isLoss = totalProfit < 0;
const actualKm = focusedRider.orders.reduce((s, o) => s + parseFloat(o.actualkms || 0), 0);
const riderKm = focusedRider.orders.reduce((s, o) => s + parseFloat(o.riderkms || 0), 0);
const cumulativeKm = focusedRider.orders.reduce((s, o) => s + parseFloat(o.cumulativekms || 0), 0);
return (
<div className="rd-stats-grid">
<div className="rd-stat rd-stat-orders">
@@ -4309,15 +4322,18 @@ const Dispatch = ({
</div>
<div className="rd-stat rd-stat-distance">
<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-label">Distance</div>
<div className="rd-stat-value">{actualKm.toFixed(1)}<span className="rd-stat-unit">km</span></div>
<div className="rd-stat-label">Actual KMs</div>
</div>
<div className={`rd-stat rd-stat-profit ${isLoss ? 'is-loss' : 'is-gain'}`}>
<div className="rd-stat-icon">{isLoss ? <MdTrendingDown /> : <MdTrendingUp />}</div>
<div className="rd-stat-value">
{isLoss ? '-' : ''}{Math.abs(totalProfit).toFixed(0)}
<div className="rd-stat rd-stat-distance">
<div className="rd-stat-icon"><MdStraighten /></div>
<div className="rd-stat-value">{riderKm.toFixed(1)}<span className="rd-stat-unit">km</span></div>
<div className="rd-stat-label">Rider KMs</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>
);