@extends('livewire.components.datatable') @section('header' . $key) @props(['items' => [], 'checked_ids' => [], 'all_checked' => false, 'is_checked_list' => false,]) @php function calculateTotals($items, $fields) { return array_map(function ($field) use ($items) { return $items->sum(function ($item) use ($field) { return (float) $item->$field; }); }, $fields); } [$selected_items, $unselected_items] = $items->partition(function ($item) use ($all_checked, $checked_ids, $is_checked_list) { if ($all_checked) { return true; } return $is_checked_list ? in_array($item->id, $checked_ids) : !in_array($item->id, $checked_ids); }); // 選択された配送係数・重量・金額のそれぞれの合計を計算 [$total_selected_delivery_coefficient, $total_selected_measurement_weight, $total_selected_price] = calculateTotals( $selected_items, ['total_delivery_coefficient', 'total_measurement_weight', 'price_total'] ); // 未選択の配送係数・重量・金額のそれぞれの合計を計算 [$total_unselected_delivery_coefficient, $total_unselected_measurement_weight, $total_unselected_price] = calculateTotals( $unselected_items, ['total_delivery_coefficient', 'total_measurement_weight', 'price_total'] ); @endphp
配送係数 重量(kg) 合計金額
未選択合計 {{$total_unselected_delivery_coefficient}} {{$total_unselected_measurement_weight}} {{$total_unselected_price}}
選択合計 {{$total_selected_delivery_coefficient}} {{$total_selected_measurement_weight}} {{$total_selected_price}}
@endsection