diff --git a/safesite/admin.py b/safesite/admin.py index a97c8c56..afd620c0 100644 --- a/safesite/admin.py +++ b/safesite/admin.py @@ -10,7 +10,7 @@ admin.site.register(models.MySchedule) admin.site.register(models.GridTaskSet) @admin.register(models.Menu) class Menuadmin(admin.ModelAdmin): - list_display = ('menuname','menucode','type','url') + list_display = ('menuname','menucode','type','url', 'sortnum') list_display_links = ('menuname',) search_fields = ('menuname', 'menucode',) def formfield_for_foreignkey(self, db_field, request, **kwargs): diff --git a/safesite/models.py b/safesite/models.py index c2ae874c..0ca4b54a 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -6,6 +6,8 @@ from django.contrib.postgres.fields import JSONField, ArrayField import jwt import datetime # Create your models here. +from django_celery_beat.models import PeriodicTask, IntervalSchedule, CrontabSchedule + class Menu(models.Model): # 菜单 @@ -57,7 +59,14 @@ class Partment(models.Model): def __str__(self): return self.partname - +class MySchedule(models.Model): + name = models.CharField('名称', max_length=200) + typeset = models.CharField('类型', default=1,max_length=10) + interval = models.ForeignKey(IntervalSchedule, null=True, blank=True, on_delete=models.SET_NULL) + crontab = models.ForeignKey(CrontabSchedule, null=True, blank=True, on_delete=models.SET_NULL) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE) + class Map(models.Model): # type_choices = ( # (1, '工厂'), @@ -259,7 +268,6 @@ class TroubleAccess(models.Model): # 隐患流程表 yhzt = models.IntegerField(default='1') accesssj = models.DateTimeField(default=timezone.now) - class Drill(models.Model): # 应急演练 drillid = models.AutoField(primary_key=True) drillnum = models.CharField(max_length=100, default='1') @@ -1066,30 +1074,37 @@ class EdulessonWatch(models.Model): # 在线视频观看情况表 user = models.ForeignKey(User, on_delete=models.CASCADE) submittime = models.DateTimeField(default=timezone.now) -from django_celery_beat.models import PeriodicTask, IntervalSchedule, CrontabSchedule -class MySchedule(models.Model): - name = models.CharField('名称', max_length=200) - typeset = models.CharField('类型', default=1,max_length=10) - interval = models.ForeignKey(IntervalSchedule, null=True, blank=True, on_delete=models.SET_NULL) - crontab = models.ForeignKey(CrontabSchedule, null=True, blank=True, on_delete=models.SET_NULL) - usecomp = models.ForeignKey( - Partment, on_delete=models.CASCADE) class GridTaskSet(models.Model): """ 网格化管理任务制定 + 隐患跟踪任务/风险点排查任务 """ - riskact = models.ForeignKey(RiskAct, on_delete=models.CASCADE, related_name='gridtaskset_riskact') + riskact = models.ForeignKey(RiskAct, on_delete=models.CASCADE, related_name='gridtaskset_riskact', null=True, blank=True) + trouble = models.ForeignKey(Trouble, on_delete=models.CASCADE, related_name='gridtaskset_trouble', null=True, blank=True) gridlevel = models.ForeignKey(Dickey, on_delete=models.CASCADE, verbose_name='网格化层级') user = models.ForeignKey(User,on_delete=models.CASCADE,verbose_name='执行人') - note = models.TextField('检查备注', null=True) + note = models.TextField('备注', null=True) myschedule = models.ForeignKey(MySchedule,on_delete=models.SET_NULL, null=True, blank=True) expire = models.IntegerField('执行有效期', null=True, blank=True) count = models.IntegerField('派发次数', default=0) last_run_at = models.DateTimeField('最近派发时间', null=True, blank=True) periodictask = models.ForeignKey(PeriodicTask, on_delete=models.CASCADE, related_name='gridtaskset_periodictask') +class TroubleFollowTask(models.Model): + """ + 隐患跟踪任务 + """ + trouble = models.ForeignKey(Trouble, on_delete=models.CASCADE) + user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="跟踪人") + taskadd = models.DateTimeField('任务创建时间', null=True, blank=True) + taskdo = models.DateTimeField('任务执行时间', null=True, blank=True) + taskexpire = models.DateTimeField('任务过期时间', null=True, blank=True) + desc = models.TextField('跟踪描述', null=True, blank=True) + tasknote = models.TextField('任务执行说明', null=True, blank=True) + taskset = models.ForeignKey(GridTaskSet, null=True, blank=True, verbose_name='由哪个设置派发', on_delete=models.SET_NULL) + class RiskActTask(models.Model): # 风险点排查执行记录 id = models.AutoField(primary_key=True) riskact = models.ForeignKey( @@ -1127,8 +1142,7 @@ class Risktask(models.Model): # 风险排查任务清单 class Riskcheck2(models.Model): # 风险排查记录2 id = models.AutoField(primary_key=True) - riskacttask = models.ForeignKey( - RiskActTask, on_delete=models.CASCADE, null=True, blank=True) + riskacttask = models.ForeignKey(RiskActTask, on_delete=models.CASCADE, null=True, blank=True) risk = models.ForeignKey( Risk, on_delete=models.CASCADE, null=True, blank=True) dotime = models.DateTimeField(null=True, blank=True) diff --git a/safesite/templates/troublefollow.html b/safesite/templates/troublefollow.html new file mode 100644 index 00000000..09c1fede --- /dev/null +++ b/safesite/templates/troublefollow.html @@ -0,0 +1,435 @@ +