博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
crm 03--->销售页面及逻辑
阅读量:6136 次
发布时间:2019-06-21

本文共 4950 字,大约阅读时间需要 16 分钟。

基本思路

销售  ------->使用的是customer表来操作

   有两个页面:

      未成交的客户

      公共客户页面  ---  什么属于?  -->  三天未跟进,及十五天内未成交

          url    --- > http://127.0.0.1:8080/stark/app01/customer/public/

      我的客户页面(个人)

 

公共客户页面逻辑处理

1:构建新的url(stark.py)

 

# 新增的url    def extra_url(self):        temp=[]        temp.append(url("cancel/(\d+)/(\d+)/$",self.cancel_course))        # 销售的公共客户页面url        temp.append(url("public/$",self.public_customers))        return temp

 

2:视图 (注意视图,必须传一个request参数)

Q查询为数据库的

def public_customers(self,request):        from django.db.models import Q        import datetime        current_date=datetime.datetime.now()    # 获取当前日期        delta_15d=datetime.timedelta(days=15)   # 15天        delta_3d=datetime.timedelta(days=3)     # 3天        # 筛选15天未成交 或 三天未跟进的客户 且状态为未成交        # recv_date  当前课程顾问的接单日期        customer_list=Customer.objects.filter(Q(recv_date__lt=current_date-delta_15d)|Q(last_consult_date__lt=current_date-delta_3d),status=2)        return render(request,"public_customers.html",locals())

 

3:html

    
公共客户列表

公共客户列表

{% for customer in customer_list %}
{% endfor %}
编号 姓名 性别 最后跟进日期 当前课程顾问 操作
{
{ forloop.counter }}
{
{ customer.name }}
{
{ customer.get_gender_display }}
{
{ customer.last_consult_date|date:"Y-m-d" }}
{
{ customer.consultant }}
确认跟进
公共客户列表

 

 

知识点:设置时间差

 datetime模块下有4个类

  datetime.date---->年月日

  datetime.time----->时分秒

  datetime.datetime---->年月日时分秒

  datetime.timedelta--->代表两个时间之间的时间差

 

2:在页面显示性别,而数据库存的是代表数字0,1

{
{ customer.gender }}是从数据库里面取值,为1,2在数据库的类型为choice类型 gender_choices = ((1, '男'), (2, '女'))choice类型的取值方法: get_display 是固定结构,中间加字段名字 {
{ customer.get_gender_display }}

 

我的客户页面

1:url

# 个人的客户页面temp.append(url("mycustormers/$",self.mycustormers))

2:视图处理:

# 我的客户视图    def mycustormers(self,request):        user_id = 3        customer_distrbute_list = CustomerDistrbute.objects.filter(consultant_id=user_id)        return render(request,"mycustormers.html",locals())

3:html

    
我的客户

我的客户页面

{% for customer_distrbute in customer_distrbute_list %}
{% endfor %}
编号 姓名 性别 最后跟进日期 状态
{
{ forloop.counter }}
{
{ customer_distrbute.customer.name }}
{
{ customer_distrbute.customer.get_gender_display }}
{
{ customer_distrbute.customer.last_consult_date|date:"Y-m-d" }}
{
{ customer_distrbute.get_status_display }}
View Code

问题:在我的客户页面里面的状态需要显示更加具体的,如(十五天未成交或者三天未跟进等等)

思路:1:在原来的staus状态的添加字段。   ---->会导致前面的逻辑代码有问题

   2:解决方法:添加专门为我的客户页面服务的表

 

1:建表

# 我的客户表状态class CustomerDistrbute(models.Model):    customer = models.ForeignKey("Customer", related_name="customers")    consultant = models.ForeignKey(verbose_name="课程顾问", to="UserInfo", limit_choices_to={
"depart_id": 10001}) date = models.DateField() status = ( (1, "正在跟进"), (2, "已报名"), (3, "三天未跟进"), (4, "15天未成单"), ) status = models.IntegerField(choices=status, default=1) memo = models.CharField(max_length=255)

 

功能完善

公共客户页面里的确认跟进功能

1:url

# 公共客户列表的确认跟进页面        temp.append(url("further_/follow/$",self.further_follow))

2:视图

# 确认跟进视图    def further_follow(self,request,customer_id):        user_id=3        import datetime        cdate=datetime.datetime.now()        from django.db.models import Q        import datetime        current_date = datetime.datetime.now()        delta_15d = datetime.timedelta(days=15)        delta_3d = datetime.timedelta(days=3)        ret=Customer.objects.filter(pk=customer_id).filter(Q(recv_date__lt=current_date-delta_15d)|Q(last_consult_date__lt=current_date-delta_3d)).update(consultant_id=3,recv_date=cdate,last_consult_date=cdate)            # 防止后来的抢单     if not ret:            return HttpResponse("没了")        CustomerDistrbute.objects.create(customer_id=customer_id,consultant_id=user_id,date=cdate,status=1)        return HttpResponse("抢单成功!")

 

转载于:https://www.cnblogs.com/jassin-du/p/8670133.html

你可能感兴趣的文章
极客Web前端开发资源大荟萃#001
查看>>
让div固定在某个位置
查看>>
Java开发环境Docker镜像
查看>>
从无到有,WebService Apache Axis2初步实践
查看>>
任务调度(一)——jdk自带的Timer
查看>>
UIKit框架(15)PCH头文件
查看>>
整理看到的好的文档
查看>>
Linux磁盘管理和文件系统管理
查看>>
linux运维人员的成功面试总结案例分享
查看>>
Windows DHCP Server基于MAC地址过滤客户端请求实现IP地址的分配
查看>>
命令查询每个文件文件数
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>
RAC表决磁盘管理和维护
查看>>
HDU 3622 Bomb Game(二分+2-SAT)
查看>>
Apache通过mod_php5支持PHP
查看>>
发布一个TCP 吞吐性能测试小工具
查看>>
java学习:jdbc连接示例
查看>>
PHP执行批量mysql语句
查看>>
Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块
查看>>
Silverlight 如何手动打包xap
查看>>