patch prikaži stranicu servisnih zapisa sa SN dizalice
Some checks failed
ERP CI/CD Pipeline / test (push) Has been cancelled
ERP CI/CD Pipeline / Deploy (server git pull + compose) (push) Has been cancelled

This commit is contained in:
mariomitte
2026-07-14 23:09:00 +02:00
parent 3ad536a23e
commit 1ab2bfb3c3
2 changed files with 13 additions and 3 deletions

View File

@@ -207,12 +207,13 @@ class VehicleServiceRecordSerializer(serializers.ModelSerializer):
performed_by_name = serializers.SerializerMethodField() performed_by_name = serializers.SerializerMethodField()
vehicle_registration = serializers.SerializerMethodField() vehicle_registration = serializers.SerializerMethodField()
task_label = serializers.SerializerMethodField() task_label = serializers.SerializerMethodField()
crane_serial_number = serializers.SerializerMethodField()
class Meta: class Meta:
model = VehicleServiceRecord model = VehicleServiceRecord
fields = [ fields = [
'id', 'vehicle', 'crane', 'vehicle_registration', 'crane_registration', 'id', 'vehicle', 'crane', 'vehicle_registration', 'crane_registration',
'task', 'task_label', 'task', 'task_label', 'crane_serial_number',
'performed_by', 'performed_by_name', 'performed_by', 'performed_by_name',
'service_title', 'description', 'parts', 'cost', 'service_title', 'description', 'parts', 'cost',
'service_date', 'mileage', 'next_service_due_at', 'service_date', 'mileage', 'next_service_due_at',
@@ -261,6 +262,12 @@ class VehicleServiceRecordSerializer(serializers.ModelSerializer):
return None return None
return obj.task.title return obj.task.title
def get_crane_serial_number(self, obj):
# Provjeri je li povezano vozilo/dizalica postoji i vrati serijski broj
if hasattr(obj, 'vehicle') and obj.vehicle:
return getattr(obj.vehicle, 'crane_serial_number', None)
return None
def create(self, validated_data): def create(self, validated_data):
request = self.context.get('request') request = self.context.get('request')
user = getattr(request, 'user', None) user = getattr(request, 'user', None)

View File

@@ -898,7 +898,7 @@ export default function FleetDashboardShell({ initialSection = 'dashboard', page
<AnimatedDataTable <AnimatedDataTable
columns={[ columns={[
{ key: 'date', label: 'Datum', className: 'px-4 py-3' }, { key: 'date', label: 'Datum', className: 'px-4 py-3' },
{ key: 'crane', label: 'Dizalica', className: 'px-4 py-3' }, { key: 'crane', label: 'SN', className: 'px-4 py-3' },
{ key: 'description', label: 'Opis', className: 'px-4 py-3' }, { key: 'description', label: 'Opis', className: 'px-4 py-3' },
{ key: 'cost', label: 'Trošak', className: 'px-4 py-3' }, { key: 'cost', label: 'Trošak', className: 'px-4 py-3' },
{ key: 'files', label: 'Datoteke', className: 'px-4 py-3' }, { key: 'files', label: 'Datoteke', className: 'px-4 py-3' },
@@ -909,8 +909,11 @@ export default function FleetDashboardShell({ initialSection = 'dashboard', page
rowClassName="hover:bg-canvas-deep" rowClassName="hover:bg-canvas-deep"
renderRow={(record) => ( renderRow={(record) => (
<> <>
{/* <pre className="text-xs bg-gray-100 p-2">
{JSON.stringify(group, null, 2)}
</pre> */}
<td className="px-4 py-3">{formatDate(record.service_date)}</td> <td className="px-4 py-3">{formatDate(record.service_date)}</td>
<td className="px-4 py-3">{record.crane_registration || record.vehicle_registration || '-'}</td> <td className="px-4 py-3">{record.crane_serial_number || record.vehicle_registration || '-'}</td>
<td className="max-w-md truncate px-4 py-3" title={record.description || ''}> <td className="max-w-md truncate px-4 py-3" title={record.description || ''}>
{record.description || '-'} {record.description || '-'}
</td> </td>