add: some note & analyse table on index.html

This commit is contained in:
raiots 2021-03-26 08:05:13 +08:00
parent 004ba6a0a6
commit 42ce5e6fc8
4 changed files with 60 additions and 50 deletions

View File

@ -29,6 +29,7 @@ class TaskAdmin(admin.ModelAdmin):
def get_changeform_initial_data(self, request): def get_changeform_initial_data(self, request):
return {'department': request.user.department} return {'department': request.user.department}
# 年度任务编辑界面仅显示本部门的任务属性
def formfield_for_foreignkey(self, db_field, request, **kwargs): def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == 'task_property': if db_field.name == 'task_property':
kwargs["queryset"] = TaskProperty.objects.filter(own_department=request.user.department) kwargs["queryset"] = TaskProperty.objects.filter(own_department=request.user.department)
@ -55,6 +56,8 @@ class TaskAdmin(admin.ModelAdmin):
class TodoAdmin(admin.ModelAdmin): class TodoAdmin(admin.ModelAdmin):
# 工作包页面仅显示所属本部门的年度任务
def formfield_for_foreignkey(self, db_field, request, **kwargs): def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == 'related_task': if db_field.name == 'related_task':
kwargs["queryset"] = models.Task.objects.filter(department=request.user.department) kwargs["queryset"] = models.Task.objects.filter(department=request.user.department)
@ -63,8 +66,8 @@ class TodoAdmin(admin.ModelAdmin):
fieldsets = [ fieldsets = [
(None, { (None, {
'fields': [ 'fields': [
'related_task', 'todo_topic', 'todo_note', 'deadline', 'duty_group', 'main_executor', 'sub_executor', 'predict_work', 'related_task', 'todo_topic', 'todo_note', 'deadline', 'duty_group', 'main_executor', 'sub_executor',
'evaluate_factor', 'predict_work', 'evaluate_factor',
] ]
}), }),
@ -75,9 +78,10 @@ class TodoAdmin(admin.ModelAdmin):
list_display = ( list_display = (
'todo_topic', 'todo_topic',
'deadline', 'deadline',
'todo_note',
'task_id', 'task_id',
'task_origin',
'lined_task', 'lined_task',
# 'task_origin',
# 'duty_department', # 'duty_department',
'duty_group', 'duty_group',
'main_executor', 'main_executor',
@ -91,7 +95,7 @@ class TodoAdmin(admin.ModelAdmin):
list_filter = ('deadline',) list_filter = ('deadline',)
list_display_links = ('todo_topic', 'deadline', ) list_display_links = ('todo_topic', 'deadline', )
date_hierarchy = 'deadline' date_hierarchy = 'deadline'
list_per_page = 20 list_per_page = 70 # 目的是取消自动分页好像有bug
raw_id_fields = ("main_executor", "sub_executor") raw_id_fields = ("main_executor", "sub_executor")
search_fields = ('todo_topic',) search_fields = ('todo_topic',)
ordering = ('related_task', ) ordering = ('related_task', )
@ -116,7 +120,9 @@ class TodoAdmin(admin.ModelAdmin):
return obj.related_task return obj.related_task
lined_task.short_description = '任务名称' lined_task.short_description = '任务名称'
# TODO 增加承办人与协办人只显示本部门人员
# TODO 任务编辑界面按部门显示
# TODO 修复工作事项显示不下自动分页,取消自动分页

View File

@ -12,3 +12,5 @@ class TodoForm(forms.ModelForm):
fields = ['maturity', 'real_work', 'complete_note'] fields = ['maturity', 'real_work', 'complete_note']
labels ={'text': ''} labels ={'text': ''}
widgets = {'rows': '3'} widgets = {'rows': '3'}
# TODO 数据不可为空

View File

@ -211,17 +211,17 @@
<div class="lists"> <div class="lists">
<ul class="nes-list is-circle"> <ul class="nes-list is-circle">
<li> <li>
<a href="https://github.com/nostalgic-css/NES.css" target="_blank" rel="noopener"> <a href="#" target="_blank" rel="noopener">
NES.css NES.css
</a> </a>
&nbsp;-&nbsp;NES-style CSS Framework &nbsp;-&nbsp;NES-style CSS Framework
</li> </li>
<li> <li>
<a href="https://github.com/stisla/stisla" target="_blank" rel="noopener">Simple-UI</a> <a href="#" target="_blank" rel="noopener">Simple-UI</a>
&nbsp;-&nbsp;Django后台模板 &nbsp;-&nbsp;Django后台模板
</li> </li>
<li> <li>
<a href="https://github.com/stisla/stisla" target="_blank" rel="noopener">AdminLTE</a> <a href="#" target="_blank" rel="noopener">AdminLTE</a>
&nbsp;-&nbsp;Free Bootstrap Admin Template &nbsp;-&nbsp;Free Bootstrap Admin Template
</li> </li>
</ul> </ul>

View File

@ -85,48 +85,50 @@
{# </div>#} {# </div>#}
<!-- /.col --> <!-- /.col -->
</div> </div>
{# <div class="row">#} <div class="row">
{# <div class="col-md-12">#} <div class="col-md-12">
{# <!-- BAR CHART -->#} <!-- BAR CHART -->
{# <div class="card card-gray">#} <div class="card card-gray">
{# <div class="card-header">#} <div class="card-header">
{# <h3 class="card-title">Bar Chart</h3>#} <h3 class="card-title">部门工作统计表</h3>
{##}
{# <div class="card-tools">#} <div class="card-tools">
{# <button type="button" class="btn btn-tool" data-card-widget="collapse"><i#} <button type="button" class="btn btn-tool" data-card-widget="collapse"><i
{# class="fas fa-minus"></i>#} class="fas fa-minus"></i>
{# </button>#} </button>
{# <button type="button" class="btn btn-tool" data-card-widget="remove"><i#} <button type="button" class="btn btn-tool" data-card-widget="remove"><i
{# class="fas fa-times"></i></button>#} class="fas fa-times"></i></button>
{# </div>#} </div>
{# </div>#} </div>
{# <div class="card-body">#}
{# <div class="chart">#} <!-- 工作统计表格 -->
{# <div class="chartjs-size-monitor">#} <div class="card-body">
{# <div class="chartjs-size-monitor-expand">#} <div class="chart">
{# <div class=""></div>#} <div class="chartjs-size-monitor">
{# </div>#} <div class="chartjs-size-monitor-expand">
{# <div class="chartjs-size-monitor-shrink">#} <div class=""></div>
{# <div class=""></div>#} </div>
{# </div>#} <div class="chartjs-size-monitor-shrink">
{# </div>#} <div class=""></div>
{# <canvas id="barChart"#} </div>
{# style="height: 230px; min-height: 230px; display: block; width: 764px;"#} </div>
{# width="764" height="230" class="chartjs-render-monitor"></canvas>#} <canvas id="barChart"
{# </div>#} style="height: 230px; min-height: 230px; display: block; width: 764px;"
{# </div>#} width="764" height="230" class="chartjs-render-monitor"></canvas>
{# <!-- /.card-body -->#} </div>
{# </div>#} </div>
{# <!-- /.card -->#} <!-- /.card-body -->
{# </div>#} </div>
{# <!-- /.col (MAIN) -->#} <!-- /.card -->
{# </div>#} </div>
<!-- /.col (MAIN) -->
</div>
<!-- /.row --> <!-- /.row -->
</div><!-- /.container-fluid --> </div><!-- /.container-fluid -->
</section> </section>
<!-- /.content --> <!-- /.content -->
</div> </div>
{#TODO 图表#}
{# <div class="content-wrapper">#} {# <div class="content-wrapper">#}
{# {% for point in points %}#} {# {% for point in points %}#}
{# {{ point }}#} {# {{ point }}#}
@ -161,7 +163,7 @@
labels : [{% for user in users %}'{{ user }}', {% endfor %}], labels : [{% for user in users %}'{{ user }}', {% endfor %}],
datasets: [ datasets: [
{ {
label : 'Digital Goods', label : '承办任务',
backgroundColor : 'rgba(60,141,188,0.9)', backgroundColor : 'rgba(60,141,188,0.9)',
borderColor : 'rgba(60,141,188,0.8)', borderColor : 'rgba(60,141,188,0.8)',
pointRadius : false, pointRadius : false,
@ -169,10 +171,10 @@
pointStrokeColor : 'rgba(60,141,188,1)', pointStrokeColor : 'rgba(60,141,188,1)',
pointHighlightFill : '#fff', pointHighlightFill : '#fff',
pointHighlightStroke: 'rgba(60,141,188,1)', pointHighlightStroke: 'rgba(60,141,188,1)',
data : [28, 48, 40, 19, 86, 27, 90] data : [{% for user in users %}'{{ user.main_executor.count }}', {% endfor %}]
}, },
{ {
label : 'Electronics', label : '协办任务',
backgroundColor : 'rgba(210, 214, 222, 1)', backgroundColor : 'rgba(210, 214, 222, 1)',
borderColor : 'rgba(210, 214, 222, 1)', borderColor : 'rgba(210, 214, 222, 1)',
pointRadius : false, pointRadius : false,
@ -180,7 +182,7 @@
pointStrokeColor : '#c1c7d1', pointStrokeColor : '#c1c7d1',
pointHighlightFill : '#fff', pointHighlightFill : '#fff',
pointHighlightStroke: 'rgba(220,220,220,1)', pointHighlightStroke: 'rgba(220,220,220,1)',
data : [65, 59, 80, 81, 56, 55, 40] data : [{% for user in users %}'{{ user.sub_executor.count }}', {% endfor %}]
}, },
] ]
} }