This commit is contained in:
shijing 2023-06-19 11:28:01 +08:00
commit f498d60386
3 changed files with 17 additions and 4 deletions

View File

@ -1,5 +1,5 @@
from django_filters import rest_framework as filters from django_filters import rest_framework as filters
from .models import Record from .models import Record, PgoalDept
class RecordFilter(filters.FilterSet): class RecordFilter(filters.FilterSet):
@ -13,3 +13,14 @@ class RecordFilter(filters.FilterSet):
class Meta: class Meta:
model = Record model = Record
fields = ['up_date','content__name','belong_dept','state','is_self','task', 'content', 'content__candoself'] fields = ['up_date','content__name','belong_dept','state','is_self','task', 'content', 'content__candoself']
class PgoalDeptFilter(filters.FilterSet):
['goal_key', 'belong_dept', 'year', 'task2do']
class Meta:
model = PgoalDept
fields = {
'goal_key': ['exact', 'in'],
'belong_dept': ['exact', 'in'],
'year': ['exact', 'in'],
'task2do': ['exact', 'in'],
}

View File

@ -146,6 +146,7 @@ class BaseMeta:
class PgoalDeptSerializer(serializers.ModelSerializer): class PgoalDeptSerializer(serializers.ModelSerializer):
goal_file_ = FileSimpleSerializer(source='goal_file', read_only=True) goal_file_ = FileSimpleSerializer(source='goal_file', read_only=True)
goal_files_ = FileSimpleSerializer(source='goal_files', many=True, read_only=True) goal_files_ = FileSimpleSerializer(source='goal_files', many=True, read_only=True)
belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True)
class Meta(BaseMeta): class Meta(BaseMeta):
model = PgoalDept model = PgoalDept
read_only_fields = BaseMeta.read_only_fields + ['goal_value_a', 'goal_value_c', 'goal_files', 'goal_key', 'goal_file_', 'goal_files_'] read_only_fields = BaseMeta.read_only_fields + ['goal_value_a', 'goal_value_c', 'goal_files', 'goal_key', 'goal_file_', 'goal_files_']

View File

@ -19,7 +19,7 @@ from apps.system.permission import get_permission_list, has_permission
from apps.system.permission_data import RbacFilterSet from apps.system.permission_data import RbacFilterSet
from django.db import transaction from django.db import transaction
from .filters import RecordFilter from .filters import RecordFilter, PgoalDeptFilter
from .models import * from .models import *
from .serializers import * from .serializers import *
@ -487,7 +487,7 @@ class Task2DoViewSet(ListModelMixin, GenericViewSet):
serializer_class = Task2DoSerializer serializer_class = Task2DoSerializer
ordering = ['belong_dept__sort'] ordering = ['belong_dept__sort']
filterset_fields = ['task2', 'belong_dept', 'task2__year', 'task2__cycle'] filterset_fields = ['task2', 'belong_dept', 'task2__year', 'task2__cycle']
cfields = ['num_issue', 'num_expect', 'num_error', 'num_overdue', 'num_complaint', 'num_pt', 'num_risk', 'num_oinspect'] cfields = ['num_issue', 'num_expect', 'num_error', 'num_overdue', 'num_complaint', 'num_pt', 'num_risk', 'num_oinspect', 'num_acc']
@classmethod @classmethod
def countup_task2do(cls, instance): def countup_task2do(cls, instance):
@ -591,7 +591,7 @@ class Domixin:
class PgoalDeptViewSet(Domixin, CreateUpdateCustomMixin, ModelViewSet): class PgoalDeptViewSet(Domixin, CreateUpdateCustomMixin, ModelViewSet):
queryset = PgoalDept.objects.all() queryset = PgoalDept.objects.all()
serializer_class = PgoalDeptSerializer serializer_class = PgoalDeptSerializer
filterset_fields = ['goal_key', 'belong_dept', 'year', 'task2do'] filterset_class = PgoalDeptFilter
def perform_update(self, serializer): def perform_update(self, serializer):
instance = serializer.save() instance = serializer.save()
@ -640,6 +640,7 @@ class ImpMixin:
raise ParseError(err_msg) raise ParseError(err_msg)
else: else:
sr.save(create_by=request.user) sr.save(create_by=request.user)
self.countup_task2do(task2do) # 统计执行情况
return Response() return Response()
class RcViewSet(ImpMixin, Domixin, CreateUpdateCustomMixin, ModelViewSet): class RcViewSet(ImpMixin, Domixin, CreateUpdateCustomMixin, ModelViewSet):