diff --git a/requirements.txt b/requirements.txt index 15b0fea1..0d352b4f 100644 Binary files a/requirements.txt and b/requirements.txt differ diff --git a/safesite/migrations/0378_offence.py b/safesite/migrations/0378_offence.py new file mode 100644 index 00000000..2bb77be7 --- /dev/null +++ b/safesite/migrations/0378_offence.py @@ -0,0 +1,31 @@ +# Generated by Django 2.2.8 on 2021-05-09 15:19 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0377_troublefollowtask_gridlevel'), + ] + + operations = [ + migrations.CreateModel( + name='Offence', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('type', models.CharField(default='公司员工', max_length=200, verbose_name='人员类型')), + ('dept', models.CharField(default='', max_length=200, verbose_name='车间')), + ('post', models.CharField(default='', max_length=200, verbose_name='岗位')), + ('area', models.CharField(default='', max_length=200, verbose_name='具体区域')), + ('parter', models.CharField(default='', max_length=200, verbose_name='当事人')), + ('description', models.TextField(blank=True, null=True, verbose_name='描述')), + ('imgs', models.TextField(blank=True, null=True, verbose_name='图片地址')), + ('createtime', models.DateTimeField(auto_now_add=True)), + ('modifytime', models.DateTimeField(auto_now=True)), + ('reporter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='safesite.User', verbose_name='举报人')), + ('usecomp', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='safesite.Partment', verbose_name='所属公司')), + ], + ), + ] diff --git a/safesite/migrations/0379_auto_20210509_1916.py b/safesite/migrations/0379_auto_20210509_1916.py new file mode 100644 index 00000000..55196670 --- /dev/null +++ b/safesite/migrations/0379_auto_20210509_1916.py @@ -0,0 +1,31 @@ +# Generated by Django 2.2.8 on 2021-05-09 19:16 + +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0378_offence'), + ] + + operations = [ + migrations.AddField( + model_name='offence', + name='happentime', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='发生时间'), + preserve_default=False, + ), + migrations.AddField( + model_name='offence', + name='place', + field=models.CharField(default='', max_length=200, verbose_name='具体地点'), + ), + migrations.AlterField( + model_name='offence', + name='area', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='safesite.Area', verbose_name='区域'), + ), + ] diff --git a/safesite/models.py b/safesite/models.py index bc0ed093..698b156c 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -378,7 +378,6 @@ class Miss(models.Model): # 未遂事件 reads = models.ManyToManyField( User, related_name='misstouser', through='Missto') - class Missto(models.Model): # 未遂事件阅读表 id = models.AutoField(primary_key=True) miss = models.ForeignKey(Miss, on_delete=models.CASCADE) @@ -386,6 +385,25 @@ class Missto(models.Model): # 未遂事件阅读表 read = models.IntegerField(default=0) submittime = models.DateTimeField(default=timezone.now) +class Offence(models.Model): + """ + 违章举报 + """ + type = models.CharField(verbose_name="人员类型", default="公司员工", max_length=200) + dept = models.CharField(verbose_name="车间", default="", max_length=200) + post = models.CharField(verbose_name="岗位", default="", max_length=200) + area = models.ForeignKey(Area, on_delete=models.SET_NULL, null=True, blank=True, verbose_name="区域") + place = models.CharField(verbose_name="具体地点", default="", max_length=200) + parter = models.CharField(verbose_name="当事人", default="", max_length=200) + description = models.TextField("描述", null=True, blank=True) + imgs = models.TextField("图片地址", null=True, blank=True) + happentime = models.DateTimeField('发生时间') + reporter = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="举报人") + + createtime = models.DateTimeField(auto_now_add=True) + modifytime = models.DateTimeField(auto_now=True) + usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司') + class Group(models.Model): # 用户组,岗位 type_choices = ( diff --git a/safesite/static/safesite/easyui/themes/icon.css b/safesite/static/safesite/easyui/themes/icon.css index 2d31ce8a..9be80535 100644 --- a/safesite/static/safesite/easyui/themes/icon.css +++ b/safesite/static/safesite/easyui/themes/icon.css @@ -203,7 +203,9 @@ background: url('icons/discharge.png') no-repeat center center; } - +.icon-offence { + background: url('icons/offence.png') no-repeat center center; +} diff --git a/safesite/static/safesite/easyui/themes/icons/offence.png b/safesite/static/safesite/easyui/themes/icons/offence.png new file mode 100644 index 00000000..6bdaae6e Binary files /dev/null and b/safesite/static/safesite/easyui/themes/icons/offence.png differ diff --git a/safesite/templates/offence.html b/safesite/templates/offence.html new file mode 100644 index 00000000..d70d219d --- /dev/null +++ b/safesite/templates/offence.html @@ -0,0 +1,106 @@ +