37 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
| from django.shortcuts import render
 | |
| 
 | |
| from rest_framework.viewsets import ModelViewSet
 | |
| from .models import Bill,Chargeitem
 | |
| from utils.queryset import get_child_queryset2
 | |
| from .serializers import BillSerializer,ChargeitemSerializer
 | |
| from apps.system.permission_data import RbacFilterSet
 | |
| from apps.system.mixins import CreateUpdateCustomMixin, OptimizationMixin
 | |
| # Create your views here.
 | |
| 
 | |
| class BillViewSet(CreateUpdateCustomMixin, OptimizationMixin, ModelViewSet):
 | |
|     perms_map = {'get': '*', 'post': 'Bill_create',
 | |
|                  'put': 'Bill_update', 'delete': 'Bill_delete'}
 | |
|     queryset = Bill.objects
 | |
|     serializer_class = BillSerializer
 | |
|     search_fields = ['feecode']
 | |
|     ordering = ['-create_time']
 | |
|     filterset_fields = ['number']
 | |
|     ordering = ['-create_time']
 | |
|     def paginate_queryset(self, queryset):
 | |
|        
 | |
|         if ((not self.request.query_params.get('page', None)) and (self.request.query_params.get('number', None))) or (self.paginator is None):
 | |
|             return None
 | |
|         return self.paginator.paginate_queryset(queryset, self.request, view=self)
 | |
| class ChargeitemViewSet(CreateUpdateCustomMixin, OptimizationMixin, ModelViewSet):
 | |
|     perms_map = {'get': '*', 'post': 'chargeitem_create',
 | |
|                  'put': 'chargeitem_update', 'delete': 'chargeitem_delete'}
 | |
|     queryset = Chargeitem.objects
 | |
|     serializer_class = ChargeitemSerializer
 | |
|     search_fields = ['itemkind']
 | |
|     filterset_fields = ['bills']
 | |
|     ordering = ['-create_time']
 | |
|     def paginate_queryset(self, queryset):
 | |
|        
 | |
|         if ((not self.request.query_params.get('page', None)) and (self.request.query_params.get('bills', None))) or (self.paginator is None):
 | |
|             return None
 | |
|         return self.paginator.paginate_queryset(queryset, self.request, view=self) |