CRM——销售与客户

一、销售与客户——表结构

1、客户类型

(1)公共客户(公共资源)

  必备条件:没有报名;

  在必备条件满足的情况下,满足以下任意条件都是公共客户:

    3天没有跟进;15天没有成单。

(2)我的客户

原销售——三江:
  2018-5-18 12:00 龙泰 男  2018-5-18 正在跟进
  2018-5-19 0:0 龙泰 男  2018-5-19 15天未成单

抢单销售——暴雨:

  2018-5-19 12:00 龙泰 男 2018-5-19 正在跟进

  2018-5-20 0:0 龙泰 男 2018-5-20 正在跟进

  2018-5-21 0:0 龙泰 男 2018-5-21 正在跟进

  2018-5-22 0:0 龙泰 男 2018-5-22 正在跟进

  2018-5-23 0:0 龙泰 男 2018-5-23 3天未成单

抢单销售——大傻:

扫描二维码关注公众号,回复: 2965087 查看本文章

  2018-5-23 0:0 龙泰 男 2018-5-23 正在跟进

 (3)需要添加客户分布表(CustomerDistrbute)

  为什么创建客户分布表,为什么不能直接用Customer?

二、公共客户

  继续配置Customer自定义配置类,扩展公共客户路由、视图、模板。

1、添加public客户url

class CustomerConfig(ModelStark):
    def extra_url(self):
        """扩展路由"""
        temp = []
        temp.append(url((r"cancel_course/(\d+)/(\d+)"), self.cancel_course))
        temp.append(url(r"public", self.public_customer))
        return temp

2、定制公共客户视图

    def public_customer(self, request):
        """公共客户"""
        # 未报名、且三天未跟进或15天未成单
        from django.db.models import Q
        import datetime
        now = datetime.datetime.now()   # datetime.datetime:表示日期时间
        # datetime.timedelta:表示时间间隔,即两个时间点之间的长度
        delta_day3 = datetime.timedelta(days=3)
        delta_day15 = datetime.timedelta(days=15)

        # 三天未跟进:now-last_consult_date>3  ===> last_consult_date < now - 3
        # 15天未成单:now-recv_data > 15  ====> recv_data < now - 15
        user_id = 2  # 课程顾问吴三江
        customer_list = Customer.objects.filter(Q(last_consult_date__lt=now - delta_day3) | Q(recv_date__lt=now - delta_day15), status=2).exclude(consultant=user_id)
        print(customer_list)   # <QuerySet [<Customer: 小东北>, <Customer: 泰哥>]>
        return render(request, "public.html", locals())

  注意:

(1)datetime模块的使用

  datetime.datetime:表示的是日期时间。

  datetime.timedelta:表示时间间隔,即两个时间点之间的长度

now = datetime.datetime.now()   # 当前日期
delta_day3 = datetime.timedelta(days=3)    # 时间间隔三天
delta_day15 = datetime.timedelta(days=15)   # 时间间隔15天

(2)根据公共客户条件筛选客户

# 三天未跟进:now-last_consult_date>3  ===> last_consult_date < now - 3
# 15天未成单:now-recv_data > 15  ====> recv_data < now - 15
# Q查询 last_consult_date__lt recv_date__lt
customer_list = Customer.objects.filter(Q(last_consult_date__lt=now - delta_day3) | Q(recv_date__lt=now - delta_day15), status=2)
print(customer_list)   # <QuerySet [<Customer: 小东北>, <Customer: 泰哥>]>

3、public.html基础设计渲染

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/bootstrap/css/bootstrap.css">
</head>
<body>
<h3>公共客户</h3>
<div class="container">
    <div class="row">
        <div class="col-md-6">
            <table class="table table-bordered table-striped">
                <thead>
                <tr>
                    <th>ID</th>
                    <th>姓名</th>
                    <th>QQ</th>
                    <th>课程顾问</th>
                </tr>
                </thead>
                <tbody>
                {% for customer in customer_list %}
                    <tr>
                        <td>{{ forloop.counter }}</td>
                        <td>{{ customer.name }}</td>
                        <td>{{ customer.qq }}</td>
                        <td>{{ customer.consultant }}</td>
                    </tr>
                {% endfor %}
                </tbody>
            </table>
        </div>
    </div>
</div>
</body>
</html>
public.html

  显示效果如下所示:

  

4、exclude排除——公共客户原课程顾问不可见

  filter按条件筛选,exclude按条件排除。

user_id = 2  # 课程顾问吴三江
customer_list = Customer.objects.filter(Q(last_consult_date__lt=now - delta_day3) | Q(recv_date__lt=now - delta_day15), status=2).exclude(consultant=user_id)
print(customer_list)   # <QuerySet [<Customer: 泰哥>]>

  显示效果:

  

5、在public.html渲染当前客户跟进记录

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/bootstrap/css/bootstrap.css">
</head>
<body>
<h3>公共客户</h3>
<div class="container">
    <div class="row">
        <div class="col-md-6">
            <table class="table table-bordered table-striped">
                <thead>
                <tr>
                    <th>ID</th>
                    <th>姓名</th>
                    <th>QQ</th>
                    <th>课程顾问</th>
                    <th>跟进详情</th>
                </tr>
                </thead>
                <tbody>
                {% for customer in customer_list %}
                    <tr>
                        <td>{{ forloop.counter }}</td>
                        <td>{{ customer.name }}</td>
                        <td>{{ customer.qq }}</td>
                        <td>{{ customer.consultant }}</td>
                        <td><a href="/stark/crm/consultrecord/?customer={{ customer.pk }}">跟进记录</a></td>
                    </tr>
                {% endfor %}
                </tbody>
            </table>
        </div>
    </div>
</div>
</body>
</html>
public.html

(1)渲染跟进记录的a标签时,添加href地址:

<td><a href="/stark/crm/consultrecord/?customer={{ customer.pk }}">跟进记录</a></td>

(2)显示效果:

  

  点击泰哥的跟进记录,调整到客户记录页面,并过滤泰哥的记录:

  

三、确认跟进

四、我的客户

猜你喜欢

转载自www.cnblogs.com/xiugeng/p/9560990.html