diff --git a/test_client/src/api/crm.js b/test_client/src/api/crm.js
index bcd762c..7316f51 100644
--- a/test_client/src/api/crm.js
+++ b/test_client/src/api/crm.js
@@ -30,6 +30,13 @@ export function transferCompany(id, data) {
})
}
+export function transferCompanys(data) {
+ return request({
+ url: `/crm/company/transfers/`,
+ method: 'put',
+ data
+ })
+}
export function deleteCompany(id) {
return request({
url: `/crm/company/${id}/`,
diff --git a/test_client/src/views/crm/company.vue b/test_client/src/views/crm/company.vue
index 0cea0e7..3622393 100644
--- a/test_client/src/views/crm/company.vue
+++ b/test_client/src/views/crm/company.vue
@@ -15,7 +15,13 @@
icon="el-icon-refresh-left"
@click="resetFilter"
>刷新重置
+ 批量移交
+
-
+
{{ scope.row.name }}
@@ -92,7 +98,7 @@
diff --git a/test_server/crm/views.py b/test_server/crm/views.py
index 36c83db..f3b0caf 100644
--- a/test_server/crm/views.py
+++ b/test_server/crm/views.py
@@ -133,6 +133,22 @@ class CompanyViewSet(ModelViewSet):
return Response(status=status.HTTP_200_OK)
else:
return Response({"error":"账号错误"})
+
+ @action(methods=['put'], detail=False, url_name='company_transfers',perms_map=[{'*':'company_transfers'}])
+ def transfers(self, request, *args, **kwargs):
+ """
+ 批量移交
+ """
+ companys = Company.objects.filter(id__in = request.data['companys'])
+ adminname = request.data.get('admin', None)
+ if adminname and UserProfile.objects.filter(username=adminname).exists():
+ adminobj = UserProfile.objects.get(username=adminname)
+ if companys.exists():
+ companys.update(create_admin=adminobj)
+ Consumer.objects.filter(company__in = companys).update(create_admin=adminobj)
+ return Response(status=status.HTTP_200_OK)
+ else:
+ return Response({"error":"账号错误"})
class ConsumerViewSet(ModelViewSet):
"""
diff --git a/test_server/rbac/views/user.py b/test_server/rbac/views/user.py
index 8955510..875739b 100644
--- a/test_server/rbac/views/user.py
+++ b/test_server/rbac/views/user.py
@@ -57,9 +57,9 @@ class UserInfoView(APIView):
+from utils.pagination import PageOrNot
-
-class UserViewSet(ModelViewSet):
+class UserViewSet(PageOrNot, ModelViewSet):
"""
用户管理:增删改查
"""
diff --git a/test_server/utils/pagination.py b/test_server/utils/pagination.py
new file mode 100644
index 0000000..675d8a8
--- /dev/null
+++ b/test_server/utils/pagination.py
@@ -0,0 +1,16 @@
+from rest_framework.pagination import PageNumberPagination
+from rest_framework.exceptions import ParseError
+
+class MyPagination(PageNumberPagination):
+ page_size = 10
+ page_size_query_param = 'page_size'
+
+class PageOrNot:
+ def paginate_queryset(self, queryset):
+ if (self.paginator is None):
+ return None
+ elif self.request.query_params.get('pageoff', None) and self.get_queryset().count()<500:
+ return None
+ elif self.request.query_params.get('pageoff', None) and self.get_queryset().count()>=500:
+ return ParseError('单次请求数据量大,请求中止')
+ return self.paginator.paginate_queryset(queryset, self.request, view=self)
\ No newline at end of file