瀏覽代碼

跟踪报告

wushaodong 4 年之前
父節點
當前提交
fc0be1d748
共有 4 個文件被更改,包括 13 次插入12 次删除
  1. 1 2
      apps/customer/models.py
  2. 6 6
      apps/customer/serializers.py
  3. 5 3
      apps/customer/views.py
  4. 1 1
      uis/views/index.html

+ 1 - 2
apps/customer/models.py

@@ -86,6 +86,7 @@ class NewCustomer(models.Model):
         permissions = [
             ('view_new_customer', u'查看'),
             ('add_review', u'跟踪'),
+            ('check_review', u'跟踪审核'),
         ]
 
 class Review(models.Model):
@@ -113,8 +114,6 @@ class Review(models.Model):
     check_user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='review_ref_checkuser', verbose_name=u"审核人",
                                    editable=False, blank=True, null=True, on_delete=models.PROTECT)
     check_time = models.DateTimeField(verbose_name=u"审核时间", editable=False, blank=True, null=True)
-    next_time = models.DateTimeField(verbose_name=u"下次回访时间", editable=False, blank=True, null=True)
-
 
     class Meta:
         db_table = "customer_review"

+ 6 - 6
apps/customer/serializers.py

@@ -120,17 +120,17 @@ class ReviewSerializer(serializers.ModelSerializer):
     check_status_text = serializers.CharField(source='get_check_status_display', read_only=True)
     create_time_f = TimeCharField(source='create_time', read_only=True)
     check_time_f = TimeCharField(source='check_time', read_only=True)
-    next_time_f = TimeCharField(source='next_time', read_only=True)
+    next_time_f = DateCharField(source='customer.next_time', read_only=True)
     is_giveup_text = BooleanCharField(source='is_giveup', read_only=True)
 
-    name = serializers.CharField(source='customer.report_customer.name', read_only=True)
-    tel = serializers.CharField(source='customer.report_customer.tel', read_only=True)
-    village = serializers.CharField(source='customer.report_customer.village', read_only=True)
-    address = serializers.CharField(source='customer.report_customer.address', read_only=True)
+    name = serializers.CharField(source='customer.name', read_only=True)
+    tel = serializers.CharField(source='customer.tel', read_only=True)
+    village = serializers.CharField(source='customer.village', read_only=True)
+    address = serializers.CharField(source='customer.address', read_only=True)
     project_text = serializers.SerializerMethodField()
 
     def get_project_text(self, obj):
-        project = obj.customer.report_customer.project.all()
+        project = obj.customer.project.all()
         return ','.join(project.values_list('name', flat=True))
 
     class Meta:

+ 5 - 3
apps/customer/views.py

@@ -217,7 +217,7 @@ class StageCountView(APIView):
         return response_ok(data)
 
 class ReviewViewSet(CustomModelViewSet):
-    permission_classes = []
+    permission_classes = [isLogin]
     queryset = Review.objects.filter()
     serializer_class = ReviewSerializer
 
@@ -228,6 +228,7 @@ class ReviewViewSet(CustomModelViewSet):
 
     @action(methods=['post'], detail=True)
     def track_review(self, request, pk):
+        check_permission(request, 'customer.check_review')
         # 跟踪审核
         check_status = request.POST.get('check_status')
         check_comment = request.POST.get('check_comment')
@@ -238,7 +239,6 @@ class ReviewViewSet(CustomModelViewSet):
                 instance.check_user = request.user
                 instance.check_status = check_status
                 instance.check_comment = check_comment
-                instance.next_time = next_time
                 instance.check_time = timezone.now()
                 instance.save()
             if int(check_status) == Review.ABANDON:
@@ -246,8 +246,10 @@ class ReviewViewSet(CustomModelViewSet):
                 instance.check_status = check_status
                 instance.check_comment = check_comment
                 instance.check_time = timezone.now()
-                instance.is_giveup = True
                 instance.save()
+                instance.customer.status = NewCustomer.ABANDONED
+            instance.customer.next_time = next_time
+            instance.customer.save()
         except CustomError as e:
             return response_error(e.get_error_msg())
         except Exception as e:

+ 1 - 1
uis/views/index.html

@@ -103,7 +103,7 @@
                             <dd data-name="nav" data-permission="customer.view_new_customer">
                                 <a lay-href="customer/index.html">潜客跟踪</a>
                             </dd>
-                            <dd data-name="nav" data-permission="customer.view_report_customer">
+                            <dd data-name="nav" data-permission="customer.check_review">
                                 <a lay-href="customer/check_index.html">跟踪审核</a>
                             </dd>
                         </dl>