|
@@ -56,8 +56,7 @@ class ReportCustomerViewSet(CustomModelViewSet):
|
|
|
def dispatch_customer(self, request, pk):
|
|
|
check_permission(request, 'customer.check_report_customer')
|
|
|
# 审核
|
|
|
- user = request.POST.get('user')
|
|
|
- user = User.objects.filter(id=user).first()
|
|
|
+ user_id = request.POST.get('user')
|
|
|
try:
|
|
|
instance = ReportCustomer.objects.filter(id=pk).first()
|
|
|
if not instance:
|
|
@@ -75,7 +74,7 @@ class ReportCustomerViewSet(CustomModelViewSet):
|
|
|
raise CustomError('当前潜客级别,没有可用跟踪天数!')
|
|
|
next_time = (timezone.now() + datetime.timedelta(days=potential_level.track_day)).strftime('%Y-%m-%d')
|
|
|
NewCustomer.objects.create(report_customer=instance, potential_level=potential_level,
|
|
|
- track_user=user, next_time=next_time, stage_progress=stage_progress,
|
|
|
+ track_user_id=user_id, next_time=next_time, stage_progress=stage_progress,
|
|
|
create_user=instance.create_user,
|
|
|
)
|
|
|
except CustomError as e:
|
|
@@ -128,21 +127,15 @@ class StageCountView(APIView):
|
|
|
data = []
|
|
|
stage_progress = Option.objects.filter(type=Option.STAGE_PROGRESS, enable=True).order_by('sort')
|
|
|
user = request.user
|
|
|
+ users = User.objcets.filter(store_id__in=request.user.get_manager_range())
|
|
|
time_now = timezone.now().strftime('%Y-%m-%d')
|
|
|
for stage in stage_progress:
|
|
|
- new_customers = NewCustomer.objects.filter(track_user=user, stage_progress=stage)
|
|
|
+ new_customers = NewCustomer.objects.filter(Q(track_user=user)|Q(track_user=users), stage_progress=stage)
|
|
|
stage_count = {
|
|
|
- 'stage': stage.name,
|
|
|
- 'total': 0,
|
|
|
- 'today_count': 0,
|
|
|
- 'overdue_count': 0,
|
|
|
+ 'stage': stage.name, # 阶段名称
|
|
|
+ 'total': new_customers.count(), # 总人数
|
|
|
+ 'today_count': new_customers.filter(next_time=time_now).count(), # 今日人数
|
|
|
+ 'overdue_count': new_customers.filter(next_time__lt=time_now).count() # 逾期人数
|
|
|
}
|
|
|
- if new_customers:
|
|
|
- stage_count = {
|
|
|
- 'stage': stage.name, # 阶段名称
|
|
|
- 'total': new_customers.count(), # 总人数
|
|
|
- 'today_count': new_customers.filter(next_time=time_now).count(), # 今日人数
|
|
|
- 'overdue_count': new_customers.filter(next_time__lt=time_now).count() # 逾期人数
|
|
|
- }
|
|
|
data.append(stage_count)
|
|
|
return response_ok(data)
|