diff --git a/api_v1/views/printing/serializers.py b/api_v1/views/printing/serializers.py index 6b662e2..59ff160 100644 --- a/api_v1/views/printing/serializers.py +++ b/api_v1/views/printing/serializers.py @@ -282,6 +282,8 @@ class PrintingJobListSerializer(serializers.ModelSerializer): work_state_display = serializers.SerializerMethodField() has_started = serializers.BooleanField(read_only=True) is_completed = serializers.BooleanField(read_only=True) + progress_percentage = serializers.FloatField(read_only=True) + last_completed_state = serializers.CharField(read_only=True) business_object_id = serializers.SerializerMethodField() batch_advance_records = serializers.SerializerMethodField() @@ -292,11 +294,16 @@ class PrintingJobListSerializer(serializers.ModelSerializer): 'product_image_url', 'has_started', 'quantity', 'unit', 'size', 'pieces', 'description', 'work_state', 'work_state_display', - 'status', 'is_completed', 'business_object_id', + 'status', 'is_completed', 'progress_percentage', 'last_completed_state', + 'business_object_id', 'batch_advance_records', 'created_at', 'updated_at' ] - read_only_fields = ['id', 'created_at', 'updated_at', 'status', 'is_completed', 'business_object_id'] + read_only_fields = [ + 'id', 'created_at', 'updated_at', + 'status', 'is_completed', 'progress_percentage', 'last_completed_state', + 'business_object_id' + ] def get_business_object_id(self, obj): """安全地获取 business_object_id""" @@ -353,6 +360,8 @@ class PrintingJobDetailSerializer(serializers.ModelSerializer): work_state_display = serializers.SerializerMethodField() is_completed = serializers.BooleanField(read_only=True) has_started = serializers.BooleanField(read_only=True) + progress_percentage = serializers.FloatField(read_only=True) + last_completed_state = serializers.CharField(read_only=True) business_object_id = serializers.SerializerMethodField() batch_advance_records = serializers.SerializerMethodField() @@ -362,13 +371,17 @@ class PrintingJobDetailSerializer(serializers.ModelSerializer): 'id', 'original_id', 'printing_order', 'printing_order_id', 'product', 'product_name', 'product_code', 'quantity', 'unit', 'size', 'pieces', 'description', 'work_state', 'work_state_display', - 'status', 'status_id', 'is_completed', 'has_started', 'business_object_id', + 'status', 'status_id', 'is_completed', 'has_started', + 'progress_percentage', 'last_completed_state', + 'business_object_id', 'batch_advance_records', 'created_at', 'updated_at' ] read_only_fields = [ 'id', 'created_at', 'updated_at', - 'status', 'status_id', 'is_completed', 'has_started', 'business_object_id' + 'status', 'status_id', 'is_completed', 'has_started', + 'progress_percentage', 'last_completed_state', + 'business_object_id' ] def get_business_object_id(self, obj):