diff --git a/client_mp/video.vue b/client_mp/video.vue new file mode 100644 index 0000000..49f9c07 --- /dev/null +++ b/client_mp/video.vue @@ -0,0 +1,409 @@ + + + + + diff --git a/server/apps/supervision/serializers.py b/server/apps/supervision/serializers.py index 82d3cf7..9caea8b 100644 --- a/server/apps/supervision/serializers.py +++ b/server/apps/supervision/serializers.py @@ -53,8 +53,10 @@ class RecordSerializer(serializers.ModelSerializer): queryset = queryset.prefetch_related('files',) return queryset -class RecordCreateUpdateSerializer(serializers.ModelSerializer): - pass +class RecordCreateSerializer(serializers.ModelSerializer): + class Meta: + model = Record + fields = ['content', 'files', 'noteb'] class TaksDetailSerializer(serializers.ModelSerializer): diff --git a/server/apps/supervision/views.py b/server/apps/supervision/views.py index 1e61df8..ccfaad1 100644 --- a/server/apps/supervision/views.py +++ b/server/apps/supervision/views.py @@ -235,6 +235,11 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet): queryset = queryset.exclude(state='待发布') return super().filter_queryset(queryset) + def get_serializer_class(self): + if self.action == 'create': + return RecordCreateSerializer + return super().get_serializer_class() + @action(methods=['get'], detail=False, perms_map = {'get':'*'}) def todos(self, request, *args, **kwargs): ret={} @@ -262,6 +267,9 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet): @action(methods=['post'], detail=False, perms_map = {'post':'record_createself'}) def createself(self, request, *args, **kwargs): + """ + 创建主动报送记录 + """ contents = request.data['contents'] rlist = [] for i in contents: @@ -270,7 +278,29 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet): rlist.append(Record(**data)) Record.objects.bulk_create(rlist) return Response(status=status.HTTP_200_OK) - + + def create(self, request, *args, **kwargs): + """ + 主动报送 + """ + data = request.data + if data.get('files', None): + serializer = RecordCreateSerializer(data=data) + serializer.is_valid(raise_exception=True) + content = Content.objects.get(pk=data['content']) + if content.can_doself: + sdata = {'belong_dept':request.user.dept, + 'is_self':True, + 'content_name':content.name, + 'content_desc':content.desc, + 'state':'已报送', + 'up_user':request.user, + 'up_date':timezone.now()} + serializer.save(**sdata) + return Response(status=status.HTTP_201_CREATED) + return Response('该材料不在主动报送范围!', status=status.HTTP_400_BAD_REQUEST) + return Response('未上传文件', status=status.HTTP_400_BAD_REQUEST) + @action(methods=['put'], detail=True, perms_map = {'put':'record_up'}) def up(self, request, *args, **kwargs): """ diff --git a/server/server/settings_dev.py b/server/server/settings_dev.py index dca12b6..c6c83b7 100644 --- a/server/server/settings_dev.py +++ b/server/server/settings_dev.py @@ -1,20 +1,20 @@ from .settings import * DEBUG = True DATABASES = { - # 'default': { - # 'ENGINE': 'django.db.backends.postgresql', - # 'NAME': 'cma', - # 'USER': 'postgres', - # 'PASSWORD': 'zctest1234', - # 'HOST': '47.95.0.242', - # 'PORT': '5432', - # } 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'cma', - 'USER': 'cma', - 'PASSWORD': 'cma123', - 'HOST': '172.16.80.102', + 'USER': 'postgres', + 'PASSWORD': 'zctest1234', + 'HOST': '47.95.0.242', 'PORT': '5432', } + # 'default': { + # 'ENGINE': 'django.db.backends.postgresql', + # 'NAME': 'cma', + # 'USER': 'cma', + # 'PASSWORD': 'cma123', + # 'HOST': '172.16.80.102', + # 'PORT': '5432', + # } }