refector: 工单处理日志返回带签名图片

This commit is contained in:
caoqianming 2023-03-23 13:48:58 +08:00
parent 3c91e23cec
commit 023dd12195
3 changed files with 13 additions and 5 deletions

View File

@ -280,6 +280,13 @@ class UserSimpleSerializer(CustomModelSerializer):
fields = ['id', 'username', 'name', 'phone'] fields = ['id', 'username', 'name', 'phone']
class UserSignatureSerializer(CustomModelSerializer):
signature = serializers.CharField(source='employee.signature', read_only=True)
class Meta:
model = User
fields = ['id', 'username', 'name', 'phone', 'signature']
class UserListSerializer(CustomModelSerializer): class UserListSerializer(CustomModelSerializer):
""" """
用户列表序列化 用户列表序列化

View File

@ -1,5 +1,5 @@
from apps.system.models import Dept, User from apps.system.models import Dept, User
from apps.system.serializers import UserSimpleSerializer from apps.system.serializers import UserSignatureSerializer, UserSimpleSerializer
from rest_framework import serializers from rest_framework import serializers
from apps.utils.serializers import CustomModelSerializer from apps.utils.serializers import CustomModelSerializer
@ -208,7 +208,7 @@ class TicketDetailSerializer(CustomModelSerializer):
class TicketFlowSerializer(CustomModelSerializer): class TicketFlowSerializer(CustomModelSerializer):
participant_ = UserSimpleSerializer(source='participant', read_only=True) participant_ = UserSignatureSerializer(source='participant', read_only=True)
state_ = StateSimpleSerializer(source='state', read_only=True) state_ = StateSimpleSerializer(source='state', read_only=True)
transition_ = TransitionSimpleSerializer(source='transition', read_only=True) transition_ = TransitionSimpleSerializer(source='transition', read_only=True)
transition_attribute = serializers.CharField(source='transition.attribute_type', read_only=True) transition_attribute = serializers.CharField(source='transition.attribute_type', read_only=True)
@ -219,7 +219,7 @@ class TicketFlowSerializer(CustomModelSerializer):
class TicketFlowSimpleSerializer(CustomModelSerializer): class TicketFlowSimpleSerializer(CustomModelSerializer):
participant_ = UserSimpleSerializer(source='participant', read_only=True) participant_ = UserSignatureSerializer(source='participant', read_only=True)
state_ = StateSimpleSerializer(source='state', read_only=True) state_ = StateSimpleSerializer(source='state', read_only=True)
transition_ = TransitionSimpleSerializer(source='transition', read_only=True) transition_ = TransitionSimpleSerializer(source='transition', read_only=True)
transition_attribute = serializers.CharField(source='transition.attribute_type', read_only=True) transition_attribute = serializers.CharField(source='transition.attribute_type', read_only=True)

View File

@ -12,7 +12,7 @@ from apps.wf.serializers import CustomFieldCreateUpdateSerializer, CustomFieldSe
TicketCreateSerializer, TicketDeliverSerializer, TicketDestorySerializer, TicketFlowSerializer, \ TicketCreateSerializer, TicketDeliverSerializer, TicketDestorySerializer, TicketFlowSerializer, \
TicketHandleSerializer, TicketRetreatSerializer, \ TicketHandleSerializer, TicketRetreatSerializer, \
TicketSerializer, TransitionSerializer, WorkflowSerializer, \ TicketSerializer, TransitionSerializer, WorkflowSerializer, \
TicketListSerializer, TicketDetailSerializer, WorkflowCloneSerializer, TicketStateUpateSerializer TicketListSerializer, TicketDetailSerializer, WorkflowCloneSerializer, TicketStateUpateSerializer, TicketFlowSimpleSerializer
from rest_framework.viewsets import GenericViewSet, ModelViewSet from rest_framework.viewsets import GenericViewSet, ModelViewSet
from rest_framework.decorators import action from rest_framework.decorators import action
from apps.wf.models import CustomField, Ticket, Workflow, State, Transition, TicketFlow from apps.wf.models import CustomField, Ticket, Workflow, State, Transition, TicketFlow
@ -356,7 +356,7 @@ class TicketViewSet(CreateUpdateCustomMixin, CreateModelMixin, ListModelMixin, R
""" """
ticket = self.get_object() ticket = self.get_object()
flowlogs = TicketFlow.objects.filter(ticket=ticket).order_by('-create_time') flowlogs = TicketFlow.objects.filter(ticket=ticket).order_by('-create_time')
serializer = TicketFlowSerializer(instance=flowlogs.select_related('participant', 'state', 'transition'), many=True) serializer = TicketFlowSimpleSerializer(instance=flowlogs.select_related('participant', 'state', 'transition', 'participant__employee'), many=True)
return Response(serializer.data) return Response(serializer.data)
@action(methods=['get'], detail=True, perms_map={'get': '*'}) @action(methods=['get'], detail=True, perms_map={'get': '*'})
@ -526,6 +526,7 @@ class TicketFlowViewSet(ListModelMixin, RetrieveModelMixin, CustomGenericViewSet
""" """
perms_map = {'get': '*'} perms_map = {'get': '*'}
queryset = TicketFlow.objects.all() queryset = TicketFlow.objects.all()
list_serializer_class = TicketFlowSimpleSerializer
serializer_class = TicketFlowSerializer serializer_class = TicketFlowSerializer
search_fields = ['suggestion'] search_fields = ['suggestion']
select_related_fields = ['participant', 'state', 'transition'] select_related_fields = ['participant', 'state', 'transition']