wushaodong пре 4 година
родитељ
комит
47f7a333c6

+ 1 - 0
apps/account/views.py

@@ -58,6 +58,7 @@ class RefreshTokenView(RefreshJSONWebToken):
                     raise CustomError(u'当前店面不可用,请联系管理员!')
                 permissions = list(user.get_all_permissions())
                 return response_ok({
+                    'error': False,
                     'token': ser.validated_data['token'],
                     'user_id': user.id,
                     'username': user.username,

+ 53 - 27
apps/customer/views.py

@@ -89,13 +89,15 @@ class ReportCustomerViewSet(CustomModelViewSet):
                     customer = NewCustomer.objects.create(report_customer=instance, gender=instance.gender,
                                                           track_user_id=user_id, stage_progress=stage_progress,
                                                           create_user=instance.create_user, store=instance.store,
-                                                          name=instance.name, tel=instance.tel, village=instance.village,
+                                                          name=instance.name, tel=instance.tel,
+                                                          village=instance.village,
                                                           address=instance.address, source=instance.source,
-                                                          notes=instance.notes,next_time=next_time,
+                                                          notes=instance.notes, next_time=next_time,
                                                           )
                     customer.project.add(project.id)
 
-                    NewCustomerRemind.objects.create(customer=customer, store=customer.store, next_time=next_time, remind_user_id=user_id,)
+                    NewCustomerRemind.objects.create(customer=customer, store=customer.store, next_time=next_time,
+                                                     remind_user_id=user_id, )
                     # 根据分配人所在店面,创建内部跟踪提醒
                     remind_users = request.user.get_remind_users()
                     # 跟踪人和提醒人是同一个人的,不需要在加提醒
@@ -104,7 +106,8 @@ class ReportCustomerViewSet(CustomModelViewSet):
                     #  把next_time用当前日期加上5天
                     next_time = (timezone.now() + datetime.timedelta(days=5)).strftime('%Y-%m-%d')
                     for remind_user in remind_users:
-                        NewCustomerRemind.objects.create(customer=customer, next_time=next_time, remind_user_id=remind_user,
+                        NewCustomerRemind.objects.create(customer=customer, next_time=next_time,
+                                                         remind_user_id=remind_user,
                                                          is_employee=False, store=instance.store)
         except CustomError as e:
             return response_error(e.get_error_msg())
@@ -230,12 +233,12 @@ class NewCustomerViewSet(CustomModelViewSet):
             if sort > 1 or not next_time:
                 next_time = (timezone.now() + datetime.timedelta(days=track_day)).strftime('%Y-%m-%d')
             data = {
-                'next_time':next_time,
-                'end_time':timezone.now(),
-                'status':NewCustomer.NORMAL,
+                'next_time': next_time,
+                'end_time': timezone.now(),
+                'status': NewCustomer.NORMAL,
             }
 
-            NewCustomerRemind.objects.filter(customer=instance,remind_user=request.user).update(next_time=next_time)
+            NewCustomerRemind.objects.filter(customer=instance, remind_user=request.user).update(next_time=next_time)
             # 如果客户已放弃,再次跟踪后自动改成正常客户,同时工单状态改成正常
             if instance.status == NewCustomer.ABANDONED:
                 Order.objects.filter(customer=instance).update(status=Order.NORMAL)
@@ -314,8 +317,8 @@ class NewCustomerViewSet(CustomModelViewSet):
         return response_ok()
 
     @action(methods=['post'], detail=True)
-    def inner_review(self, request , pk):
-        #内部跟踪
+    def inner_review(self, request, pk):
+        # 内部跟踪
         check_permission(request, 'customer.inner_review')
         description = request.POST.get('description')
         next_time = request.POST.get('next_time')
@@ -336,7 +339,8 @@ class NewCustomerViewSet(CustomModelViewSet):
                 serializer = ReviewSerializer(data=data)
                 if serializer.is_valid(raise_exception=True):
                     serializer.save()
-                NewCustomerRemind.objects.filter(customer=instance, remind_user=request.user).update(next_time=next_time)
+                NewCustomerRemind.objects.filter(customer=instance, remind_user=request.user).update(
+                    next_time=next_time)
 
         except ValidationError as e:
             traceback.print_exc()
@@ -349,7 +353,7 @@ class NewCustomerViewSet(CustomModelViewSet):
 
     @action(methods=['post'], detail=True)
     def again_dispatch(self, request, pk):
-        #重新分配
+        # 重新分配
         check_permission(request, 'customer.again_dispatch')
         track_user_id = request.POST.get('track_user')
         try:
@@ -360,16 +364,18 @@ class NewCustomerViewSet(CustomModelViewSet):
                 old_track_user = instance.track_user
                 if not instance.stage_progress.track_day:
                     raise CustomError('当前阶段,没有设置跟踪天数!')
-                next_time = (timezone.now() + datetime.timedelta(days=instance.stage_progress.track_day)).strftime('%Y-%m-%d')
+                next_time = (timezone.now() + datetime.timedelta(days=instance.stage_progress.track_day)).strftime(
+                    '%Y-%m-%d')
 
                 instance.track_user_id = track_user_id
                 instance.next_time = next_time
                 instance.save()
                 #  把原跟踪人提醒更新为新的跟踪人
                 NewCustomerRemind.objects.filter(customer=instance, remind_user=old_track_user).update(
-                                            next_time=next_time,remind_user_id=track_user_id)
+                    next_time=next_time, remind_user_id=track_user_id)
                 BizLog.objects.addnew(request.user, BizLog.INSERT,
-                                      u'重新分配客户经理[%s]为%s,id=%d' % (instance.name,track_user_id, instance.id), track_user_id)
+                                      u'重新分配客户经理[%s]为%s,id=%d' % (instance.name, track_user_id, instance.id),
+                                      track_user_id)
 
         except CustomError as e:
             return response_error(e.get_error_msg())
@@ -392,7 +398,7 @@ class NewCustomerViewSet(CustomModelViewSet):
                     raise CustomError('当前阶段,没有设置跟踪天数!')
                 next_time = (timezone.now() + datetime.timedelta(days=stage_progress.track_day)).strftime('%Y-%m-%d')
                 # 获取当前客户已有项目集合
-                new_customers= NewCustomer.objects.filter(report_customer=instance.report_customer)
+                new_customers = NewCustomer.objects.filter(report_customer=instance.report_customer)
                 new_projects = []
                 for new_customer in new_customers:
                     new_project = new_customer.project.all()
@@ -407,17 +413,19 @@ class NewCustomerViewSet(CustomModelViewSet):
                         exist_projects.append(option.name)
                         continue
 
-                    customer = NewCustomer.objects.create(report_customer=instance.report_customer, gender=instance.gender,
+                    customer = NewCustomer.objects.create(report_customer=instance.report_customer,
+                                                          gender=instance.gender,
                                                           track_user=instance.track_user, stage_progress=stage_progress,
                                                           create_user=instance.create_user, store=instance.store,
-                                                          name=instance.name, tel=instance.tel, village=instance.village,
+                                                          name=instance.name, tel=instance.tel,
+                                                          village=instance.village,
                                                           address=instance.address, source=instance.source,
-                                                          notes=instance.notes,next_time=next_time,
+                                                          notes=instance.notes, next_time=next_time,
                                                           )
                     customer.project.add(project)
 
                     NewCustomerRemind.objects.create(customer=customer, store=customer.store, next_time=next_time,
-                                                     remind_user_id=instance.track_user_id,)
+                                                     remind_user_id=instance.track_user_id, )
                     # 根据分配人所在店面,创建内部跟踪提醒
                     remind_users = request.user.get_remind_users()
                     track_user = instance.track_user
@@ -427,7 +435,8 @@ class NewCustomerViewSet(CustomModelViewSet):
                     #  把next_time用当前日期加上5天
                     next_time = (timezone.now() + datetime.timedelta(days=5)).strftime('%Y-%m-%d')
                     for remind_user in remind_users:
-                        NewCustomerRemind.objects.create(customer=customer, next_time=next_time, remind_user_id=remind_user,
+                        NewCustomerRemind.objects.create(customer=customer, next_time=next_time,
+                                                         remind_user_id=remind_user,
                                                          is_employee=False, store=instance.store)
 
                     add_projects.append(option.name)
@@ -450,11 +459,13 @@ class StageCountView(APIView):
         id = request.query_params.get('id') or request.user.id
 
         data = []
-        stage_progress = Option.objects.filter(type=Option.STAGE_PROGRESS, enable=True).order_by('sort').values('id','name')
+        stage_progress = Option.objects.filter(type=Option.STAGE_PROGRESS, enable=True).order_by('sort').values('id',
+                                                                                                                'name')
         time_now = timezone.now().strftime('%Y-%m-%d')
         for stage in stage_progress:
             # 查询正常状态客户
-            reminds = NewCustomerRemind.objects.filter(customer__stage_progress=stage['id'], customer__status=NewCustomer.NORMAL)
+            reminds = NewCustomerRemind.objects.filter(customer__stage_progress=stage['id'],
+                                                       customer__status=NewCustomer.NORMAL)
             if type == 'store':
                 reminds = reminds.filter(store_id=id, is_employee=True)
             elif type == 'user':
@@ -466,9 +477,11 @@ class StageCountView(APIView):
                 except:
                     reminds = reminds.filter(remind_user_id=id)
             elif type == 'agent':
-                reminds = reminds.filter(store__agent_id=id, store_id__in=request.user.get_manager_range(), is_employee=True)
+                reminds = reminds.filter(store__agent_id=id, store_id__in=request.user.get_manager_range(),
+                                         is_employee=True)
             elif type == 'general_agent':
-                reminds = reminds.filter(store__agent__general_agent_id=id, store_id__in=request.user.get_manager_range(), is_employee=True)
+                reminds = reminds.filter(store__agent__general_agent_id=id,
+                                         store_id__in=request.user.get_manager_range(), is_employee=True)
 
             stage_count = {
                 'stage_id': stage['id'],  # 阶段id
@@ -533,7 +546,8 @@ class ReviewViewSet(CustomModelViewSet):
                     Order.objects.filter(customer=instance.customer).update(status=Order.ABANDONED)
                 instance.customer.next_time = next_time
                 instance.customer.save()
-                NewCustomerRemind.objects.filter(customer=instance.customer, remind_user=instance.customer.track_user).update(next_time=next_time)
+                NewCustomerRemind.objects.filter(customer=instance.customer,
+                                                 remind_user=instance.customer.track_user).update(next_time=next_time)
         except CustomError as e:
             return response_error(e.get_error_msg())
         except Exception as e:
@@ -554,9 +568,21 @@ class ListCountView(APIView):
                                            Q(service_user=request.user) |
                                            Q(customer__create_user=request.user), status=Order.WAIT_DISPATCH).count()
 
-        data ={
+        data = {
             'report_customer_count': report_customer_count,  # 报备审核数量
             'review_count': review_count,  # 跟踪审核数量
             'order_count': order_count,  # 进度审核数量
+            'today_report': 0,  # 本日新增报备
+            'mouth_report': 0,  # 本月新增报备
+            'general_report': 0,  # 总报备
         }
+
+        if request.user or request.user.is_authenticated:
+            today = timezone.now().date()
+            reports = ReportCustomer.objects.filter(store__in=request.user.get_manager_range(),
+                                                    report_status=ReportCustomer.CHECKED)
+            data['today_report'] = reports.filter(check_time__gte=str(today) + ' 00:00:00').count()
+            data['mouth_report'] = reports.filter(check_time__year=today.year,
+                                                  check_time__month=today.month).count()
+            data['general_report'] = reports.count()
         return response_ok(data)

+ 3 - 0
uis/views/account/login.html

@@ -102,6 +102,9 @@
                 , data: {token: layui.data(setter.tableName)[setter.request.tokenName].substr(4)}
                 , type: 'post'
                 , done: function (res) {
+                    if(res.data.error){
+                        return false
+                    }
                     //请求成功后,写入 access_token
                     layui.data(setter.tableName, {
                         key: setter.request.tokenName

+ 0 - 3
uis/views/customer/index.html

@@ -287,9 +287,6 @@
                 btn: ['保存', '取消'],
                 yes: function (index, dom) {
                     layui.onSubmitChild = function (res) {
-                        if (res.code === 0) {
-                            layer.msg('添加成功!', {icon: 1})
-                        }
                         layer.close(index);
                         //刷新表格
                         table.reload('customer_log', {});

+ 2 - 2
uis/views/customer/internal_trace.html

@@ -53,8 +53,8 @@
                          <div>
                             <label class="layui-form-label">抄送业务员:</label>
                             <div class="layui-input-block">
-                                <input type="radio" name="is_entry" value="1" title="是">
-                                <input type="radio" name="is_entry" value="0" title="否" checked>
+                                <input type="radio" name="is_copy" value="1" title="是">
+                                <input type="radio" name="is_copy" value="0" title="否" checked>
                             </div>
                         </div>