From ded0e2e61ef25592e6bb528acc4f59baae6f77d5 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 15 Dec 2021 17:23:08 +0800 Subject: [PATCH] =?UTF-8?q?operation=20record=20update=20=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/wpm/views.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/hb_server/apps/wpm/views.py b/hb_server/apps/wpm/views.py index 3a674e7..d426947 100644 --- a/hb_server/apps/wpm/views.py +++ b/hb_server/apps/wpm/views.py @@ -614,7 +614,7 @@ class OperationEquipViewSet(ListModelMixin, DestroyModelMixin, UpdateModelMixin, instance.delete() return Response() -class OperationRecordViewSet(ListModelMixin, DestroyModelMixin, GenericViewSet): +class OperationRecordViewSet(ListModelMixin, DestroyModelMixin, UpdateModelMixin, GenericViewSet): """ 操作使用的自定义表格 """ @@ -625,6 +625,10 @@ class OperationRecordViewSet(ListModelMixin, DestroyModelMixin, GenericViewSet): ordering_fields = ['id'] ordering = ['-id'] + def get_serializer_class(self): + if self.action == 'update': + return OperationRecordSubmitSerializer + return super().get_serializer_class() @transaction.atomic() def destroy(self, request, *args, **kwargs): instance = self.get_object() @@ -643,12 +647,14 @@ class OperationRecordViewSet(ListModelMixin, DestroyModelMixin, GenericViewSet): # 后续加入系统带入数据 return Response(data) - @action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=OperationRecordSubmitSerializer) - def submit(self, request, pk=None): - serializer = OperationRecordSubmitSerializer(data=request.data, context={'request':self.request}) + + def update(self, request, *args, **kwargs): + serializer = OperationRecordSubmitSerializer(data=request.data) serializer.is_valid(raise_exception=True) vdata = serializer.validated_data opr = self.get_object() + if opr.operation.is_submited: + raise exceptions.APIException('操作已提交不可修改') wrds = [] for m in vdata['record_data']: # 保存记录详情 form_field = m['form_field']