From 68280e13af1264474967eaf5cf56b3626cc45362 Mon Sep 17 00:00:00 2001 From: shilixia <2309368887@qq.com> Date: Mon, 15 Mar 2021 09:04:04 +0800 Subject: [PATCH] record --- client/src/api/record.js | 15 ++ client/src/router/index.js | 9 +- client/src/views/supervision/record.vue | 251 ++++++++++++++++++++++++ server/apps/supervision/serializers.py | 19 +- server/apps/supervision/urls.py | 3 +- server/apps/supervision/views.py | 8 +- server/apps/system/serializers.py | 4 + 7 files changed, 304 insertions(+), 5 deletions(-) create mode 100644 client/src/api/record.js create mode 100644 client/src/views/supervision/record.vue diff --git a/client/src/api/record.js b/client/src/api/record.js new file mode 100644 index 0000000..d6c2914 --- /dev/null +++ b/client/src/api/record.js @@ -0,0 +1,15 @@ +import request from '@/utils/request' + + + + +export function getRecordList(query) { + return request({ + url: '/supervision/content/', + method: 'get', + params: query + }) +} + + + diff --git a/client/src/router/index.js b/client/src/router/index.js index 932914c..374cb5b 100644 --- a/client/src/router/index.js +++ b/client/src/router/index.js @@ -125,7 +125,14 @@ export const asyncRoutes = [ name: 'STask', component: () => import('@/views/supervision/task.vue'), meta: { title: '报送任务', icon: 'guide', perms: ['task_manage'] } - }] + }, + { + path: 'record', + name: 'Record', + component: () => import('@/views/supervision/record.vue'), + meta: { title: '材料列表', icon: 'guide', perms: ['record_manage'] } + } + ] }, { diff --git a/client/src/views/supervision/record.vue b/client/src/views/supervision/record.vue new file mode 100644 index 0000000..89b055e --- /dev/null +++ b/client/src/views/supervision/record.vue @@ -0,0 +1,251 @@ + + + diff --git a/server/apps/supervision/serializers.py b/server/apps/supervision/serializers.py index e88b935..82aee5d 100644 --- a/server/apps/supervision/serializers.py +++ b/server/apps/supervision/serializers.py @@ -1,6 +1,6 @@ from rest_framework import serializers from .models import * -from apps.system.serializers import OrganizationSerializer +from apps.system.serializers import OrganizationSerializer,FileListSerializer class ContentSerializer(serializers.ModelSerializer): type_ = serializers.SerializerMethodField() @@ -19,6 +19,10 @@ class ContentSerializer(serializers.ModelSerializer): if obj.type.pid: data = obj.type.pid.name + '/' + data return data +class ContentListSerializer(serializers.ModelSerializer): + class Meta: + model = Content + fields = ['name', 'desc'] class TaskCreateUpdateSerializer(serializers.ModelSerializer): class Meta: @@ -28,4 +32,15 @@ class TaskCreateUpdateSerializer(serializers.ModelSerializer): class TaskListSerializer(serializers.ModelSerializer): class Meta: model = Task - fields = ['name', 'is_self', 'end_date', 'note', 'complete_rate'] \ No newline at end of file + fields = ['name', 'is_self', 'end_date', 'note', 'complete_rate'] +class RecordSerializer(serializers.ModelSerializer): + files_ = FileListSerializer(source='files', many=True, read_only=True) + task_ = TaskListSerializer(source='task') + content_=ContentListSerializer(source='content') + class Meta: + model = Record + fields = ('id', 'up_date', 'up_user', 'end_date', 'state', + 'is_yes', 'note', 'noteb','content','content_','task_','task', 'files', 'files_') + + + \ No newline at end of file diff --git a/server/apps/supervision/urls.py b/server/apps/supervision/urls.py index 390942a..db814fc 100644 --- a/server/apps/supervision/urls.py +++ b/server/apps/supervision/urls.py @@ -1,9 +1,10 @@ from django.urls import path, include from rest_framework import routers -from .views import ContentViewSet +from .views import ContentViewSet,RecordViewSet router = routers.DefaultRouter() router.register('content', ContentViewSet, basename="content") +router.register('record', RecordViewSet, basename="record") urlpatterns = [ path('', include(router.urls)) ] \ No newline at end of file diff --git a/server/apps/supervision/views.py b/server/apps/supervision/views.py index 4215fde..fbc9e62 100644 --- a/server/apps/supervision/views.py +++ b/server/apps/supervision/views.py @@ -38,4 +38,10 @@ class TaskViewSet(CreateUpdateCustomMixin, ModelViewSet): if self.action in ['create', 'update']: return TaskCreateUpdateSerializer return TaskListSerializer - \ No newline at end of file +class RecordViewSet(CreateUpdateCustomMixin,ModelViewSet): + perms_map = {'get': '*', 'post': 'record_create', + 'put': 'record_update', 'delete': 'record_delete'} + queryset = Record.objects.all() + serializer_class = RecordSerializer + search_fields = ['name'] + ordering = ['-create_time'] \ No newline at end of file diff --git a/server/apps/system/serializers.py b/server/apps/system/serializers.py index ee6cdf5..7e869f2 100644 --- a/server/apps/system/serializers.py +++ b/server/apps/system/serializers.py @@ -9,6 +9,10 @@ class FileSerializer(serializers.ModelSerializer): class Meta: model = File fields = "__all__" +class FileListSerializer(serializers.ModelSerializer): + class Meta: + model = File + fields = ['name'] class DictTypeSerializer(serializers.ModelSerializer): """