This commit is contained in:
Андрей Дувакин 2024-10-08 11:47:22 +05:00
parent 2e926e7999
commit 4658593894

View File

@ -101,6 +101,10 @@ const DeliveryOrderDetails = () => {
const accessories = await getDeliveryAccessories(deliveryOrderId); const accessories = await getDeliveryAccessories(deliveryOrderId);
setDeliveryAccessories(accessories); setDeliveryAccessories(accessories);
if (accessories.length > 0) {
setAccessoryPeriod(accessories[0].accessory_period);
}
if (totalOrder) { if (totalOrder) {
const totalWeightCalculated = accessories.reduce((acc, accessory) => { const totalWeightCalculated = accessories.reduce((acc, accessory) => {
return ( return (
@ -115,7 +119,6 @@ const DeliveryOrderDetails = () => {
const coords = await Promise.all( const coords = await Promise.all(
accessories.map(async (accessory) => { accessories.map(async (accessory) => {
setAccessoryPeriod(accessory.period);
if (accessory.latitude && accessory.longitude) { if (accessory.latitude && accessory.longitude) {
return { return {
city: accessory.city_name, city: accessory.city_name,
@ -194,14 +197,15 @@ const DeliveryOrderDetails = () => {
const calculateRecommendedDepartureTime = () => { const calculateRecommendedDepartureTime = () => {
if (!totalOrder || !orderDuration || !accessoryPeriod) return null; if (!totalOrder || !orderDuration || !accessoryPeriod) return null;
console.log(totalOrder, orderDuration, accessoryPeriod); const periodInMilliseconds = (accessoryPeriod + 1) * 24 * 60 * 60 * 1000;
const periodInMilliseconds = accessoryPeriod * 24 * 60 * 60 * 1000;
const orderDurationInMilliseconds = orderDuration * 60 * 1000; const orderDurationInMilliseconds = orderDuration * 60 * 1000;
const deadlineDate = new Date(totalOrder.deadline); const deadlineDate = new Date(totalOrder.deadline);
const recommendedDepartureTime = new Date( const recommendedDepartureTime = new Date(
deadlineDate - periodInMilliseconds - orderDurationInMilliseconds deadlineDate - periodInMilliseconds - orderDurationInMilliseconds
); );
return recommendedDepartureTime.toLocaleString("ru-RU");
return recommendedDepartureTime.toLocaleDateString("ru-RU");
}; };
const handleBack = () => { const handleBack = () => {
@ -228,7 +232,7 @@ const DeliveryOrderDetails = () => {
<th scope="col">Тип транспортного средства</th> <th scope="col">Тип транспортного средства</th>
<th scope="col">Количество транспортных средств</th> <th scope="col">Количество транспортных средств</th>
<th scope="col">Прогнозируемое время этапа</th> <th scope="col">Прогнозируемое время этапа</th>
<th scope="col">Рекомендуемое время отправления</th> <th scope="col">Рекомендуемая дата отправления</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -254,7 +258,9 @@ const DeliveryOrderDetails = () => {
</> </>
)} )}
</td> </td>
<td>{calculateRecommendedDepartureTime()}</td> <td>
{calculateRecommendedDepartureTime()}
</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>