operation record update 方法

This commit is contained in:
caoqianming 2021-12-15 17:23:08 +08:00
parent cdc4d4acaf
commit ded0e2e61e
1 changed files with 10 additions and 4 deletions

View File

@ -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']