在很多企業,在年底總結時,一般都會定好來年的銷售任務并配置設定到銷售區域中。銷售區域負責人領到任務後,會分解到每個銷售人員身上。
任務分解按日、按周太短,按年、按季太長,按月剛剛好,比較符号實際情況。
銷售額,在實際系統中是通過彙總銷售訂單總額後插入到統計表中的。在這套練手的銷售管理系統中,沒有涉及到訂單這一塊,咱用手工錄入也是可以的。
43.1 界面效果
有關區域任務的界面這裡就不提供了,反正都是按模闆自動生成的。重點介紹下銷售統計這個界面。它是圖形化的,令人耳目一新的界面。有了它,老闆做夢都會笑被笑醒,如果銷售額與日俱增、突飛猛進的話。
43.2 資料字典
區域任務表(Task)
43.3 建立應用
建立task應用并內建到…(你懂得)。有關銷售目标功能涉及到的圖示,我找到了一些,現提供給你參考。
# 圖示設定
SIMPLEUI_ICON = {
……
'銷售目标': 'fas fa-chart-bar',
'區域任務': 'fas el-icon-news',
'個人任務': 'fas el-icon-wallet',
'銷售統計': 'fas el-icon-s-data',
}
在task/apps.py檔案中新增如下内容。
from django.apps import AppConfig
class TaskConfig(AppConfig):
name = 'task'
verbose_name = '銷售目标'
在task/__init__.py檔案中新增如下内容。
default_app_config = 'task.apps.TaskConfig'
43.4 區域任務
在models.py的内容裡,列出了銷售統計(SaleSum),主要目的是為了能将它納入到背景管理中。有了它,才能擁有"銷售統計"的二級菜單,否則了無蹤迹。
from django.db import models
# 區域任務
class Task(models.Model):
region = models.CharField(max_length=64, verbose_name='區域', null=False, blank=False)
year = models.IntegerField(verbose_name='年份', null=False, blank=False)
# 銷售目标
Jan_task = models.DecimalField(verbose_name='1月', decimal_places=2, max_digits=9)
Feb_task = models.DecimalField(verbose_name='2月', decimal_places=2, max_digits=9)
Mar_task = models.DecimalField(verbose_name='3月', decimal_places=2, max_digits=9)
Apr_task = models.DecimalField(verbose_name='4月', decimal_places=2, max_digits=9)
May_task = models.DecimalField(verbose_name='5月', decimal_places=2, max_digits=9)
Jun_task = models.DecimalField(verbose_name='6月', decimal_places=2, max_digits=9)
Jul_task = models.DecimalField(verbose_name='7月', decimal_places=2, max_digits=9)
Aug_task = models.DecimalField(verbose_name='8月', decimal_places=2, max_digits=9)
Sep_task = models.DecimalField(verbose_name='9月', decimal_places=2, max_digits=9)
Oct_task = models.DecimalField(verbose_name='10月', decimal_places=2, max_digits=9)
Nov_task = models.DecimalField(verbose_name='11月', decimal_places=2, max_digits=9)
Dec_task = models.DecimalField(verbose_name='12月', decimal_places=2, max_digits=9)
# 實際銷售額
Jan_sale = models.DecimalField(verbose_name='1月', decimal_places=2, max_digits=9, default=0)
Feb_sale = models.DecimalField(verbose_name='2月', decimal_places=2, max_digits=9, default=0)
Mar_sale = models.DecimalField(verbose_name='3月', decimal_places=2, max_digits=9, default=0)
Apr_sale = models.DecimalField(verbose_name='4月', decimal_places=2, max_digits=9, default=0)
May_sale = models.DecimalField(verbose_name='5月', decimal_places=2, max_digits=9, default=0)
Jun_sale = models.DecimalField(verbose_name='6月', decimal_places=2, max_digits=9, default=0)
Jul_sale = models.DecimalField(verbose_name='7月', decimal_places=2, max_digits=9, default=0)
Aug_sale = models.DecimalField(verbose_name='8月', decimal_places=2, max_digits=9, default=0)
Sep_sale = models.DecimalField(verbose_name='9月', decimal_places=2, max_digits=9, default=0)
Oct_sale = models.DecimalField(verbose_name='10月', decimal_places=2, max_digits=9, default=0)
Nov_sale = models.DecimalField(verbose_name='11月', decimal_places=2, max_digits=9, default=0)
Dec_sale = models.DecimalField(verbose_name='12月', decimal_places=2, max_digits=9, default=0)
create_time = models.DateTimeField(verbose_name='建立時間', auto_now=True)
class Meta:
verbose_name = "任務"
verbose_name_plural = "區域任務"
# 個人任務
class MyTask(models.Model):
class Meta:
verbose_name = "任務"
verbose_name_plural = "個人任務"
# 銷售統計
class SaleSum(models.Model):
permissions = ('銷售統計',)
class Meta:
verbose_name = "銷售統計"
verbose_name_plural = "銷售統計"
單有model,單有資料。如果想在頁面上有一番作為的話,還需要在ModelAdmin中進行注冊。有關ModelAdmin的注冊内容,請見下一章。