diff --git a/groups/admin.py b/groups/admin.py
index a63c7002..d3e0730e 100644
--- a/groups/admin.py
+++ b/groups/admin.py
@@ -14,6 +14,7 @@ class GroupAdmin(admin.ModelAdmin):
@admin.register(models.Groupmember)
class GroupmemberAdmin(admin.ModelAdmin):
+ list_display=['group','member']
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "member":
kwargs["queryset"] = s_models.Partment.objects.filter(iscompany=1,deletemark=1)
diff --git a/groups/templates/groups/base.html b/groups/templates/groups/base.html
index c3929372..c7d80651 100644
--- a/groups/templates/groups/base.html
+++ b/groups/templates/groups/base.html
@@ -90,14 +90,14 @@ desired effect
-
+
{{ request.session.user_name }}
{{ request.session.user_name }} - 集团管理员 @@ -129,7 +129,7 @@ desired effect
{{ request.session.user_name }}
diff --git a/groups/views.py b/groups/views.py index 5b56962d..1b2bd947 100644 --- a/groups/views.py +++ b/groups/views.py @@ -316,7 +316,7 @@ def updateposition(req): i.position = data['geocodes'][0] i.save() else: - address = i.partname.replace('公司', '').replace('责任', '').replace('有限', '') + address = i.partname.replace('公司', '').replace('责任', '').replace('有限', '').replace('水泥','') data = getPosition(address) if data['status'] == '1' and int(data['count']) > 0: i.position = data['geocodes'][0] @@ -334,7 +334,11 @@ def getPosition(address): def apipositions(req): - companys = GroupUser.objects.get(id = req.session['user_id']).group.members.all() + user = GroupUser.objects.get(id = req.session['user_id']) + if user.issuper==1: + companys = s_models.Partment.objects.filter(iscompany=1).order_by('-creattime') + else: + companys = user.group.members.all().order_by('-creattime') positions = companys.values('position','partname') return JsonResponse({"code":1,"data":list(positions)}) def trouble(request):#隐患排查 diff --git a/mysite/settings.py b/mysite/settings.py index 2a425a8a..6c3d9663 100644 --- a/mysite/settings.py +++ b/mysite/settings.py @@ -37,12 +37,14 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'rest_framework', 'safesite', 'safesite.templatetags', 'groups', 'captcha', + ] - +CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.math_challenge' MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', diff --git a/safesite/migrations/0312_auto_20200113_1209.py b/safesite/migrations/0312_auto_20200113_1209.py new file mode 100644 index 00000000..ef656b25 --- /dev/null +++ b/safesite/migrations/0312_auto_20200113_1209.py @@ -0,0 +1,28 @@ +# Generated by Django 2.2.8 on 2020-01-13 12:09 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0311_auto_20200110_1604'), + ] + + operations = [ + # migrations.RemoveField( + # model_name='companyinfo', + # name='liaison_fax', + # ), + migrations.AddField( + model_name='equipmentcheckform', + name='deletemark', + field=models.IntegerField(default=1, verbose_name='删除标记'), + ), + migrations.AlterField( + model_name='equipmentcheckform', + name='usecomp', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='safesite.Partment', verbose_name='所属公司'), + ), + ] diff --git a/safesite/migrations/0313_auto_20200114_1201.py b/safesite/migrations/0313_auto_20200114_1201.py new file mode 100644 index 00000000..c379943a --- /dev/null +++ b/safesite/migrations/0313_auto_20200114_1201.py @@ -0,0 +1,28 @@ +# Generated by Django 2.2.8 on 2020-01-14 12:01 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0312_auto_20200113_1209'), + ] + + operations = [ + # migrations.RemoveField( + # model_name='companyinfo', + # name='liaison_fax', + # ), + migrations.AddField( + model_name='equipmentcheckform', + name='createby', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='safesite.User', verbose_name='创建人'), + ), + migrations.AlterField( + model_name='equipmentcheckform', + name='usecomp', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='safesite.Partment', verbose_name='所属公司'), + ), + ] diff --git a/safesite/migrations/0314_auto_20200114_1815.py b/safesite/migrations/0314_auto_20200114_1815.py new file mode 100644 index 00000000..54d85294 --- /dev/null +++ b/safesite/migrations/0314_auto_20200114_1815.py @@ -0,0 +1,22 @@ +# Generated by Django 2.2.8 on 2020-01-14 18:15 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0313_auto_20200114_1201'), + ] + + operations = [ + migrations.RenameField( + model_name='equipmentcheckitem', + old_name='item', + new_name='name', + ), + # migrations.RemoveField( + # model_name='companyinfo', + # name='liaison_fax', + # ), + ] diff --git a/safesite/migrations/0315_auto_20200115_0941.py b/safesite/migrations/0315_auto_20200115_0941.py new file mode 100644 index 00000000..43eebe25 --- /dev/null +++ b/safesite/migrations/0315_auto_20200115_0941.py @@ -0,0 +1,23 @@ +# Generated by Django 2.2.8 on 2020-01-15 09:41 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0314_auto_20200114_1815'), + ] + + operations = [ + # migrations.RemoveField( + # model_name='companyinfo', + # name='liaison_fax', + # ), + migrations.AddField( + model_name='equipment', + name='checkform', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='safesite.EquipmentCheckForm'), + ), + ] diff --git a/safesite/migrations/0316_auto_20200115_1653.py b/safesite/migrations/0316_auto_20200115_1653.py new file mode 100644 index 00000000..f3ac35f8 --- /dev/null +++ b/safesite/migrations/0316_auto_20200115_1653.py @@ -0,0 +1,27 @@ +# Generated by Django 2.2.8 on 2020-01-15 16:53 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0315_auto_20200115_0941'), + ] + + operations = [ + # migrations.RemoveField( + # model_name='companyinfo', + # name='liaison_fax', + # ), + migrations.AddField( + model_name='train', + name='jsqd', + field=models.IntegerField(default=0, verbose_name='结束签到'), + ), + migrations.AddField( + model_name='trainuser', + name='jsqd', + field=models.DateTimeField(blank=True, null=True, verbose_name='结束签到时间'), + ), + ] diff --git a/safesite/models.py b/safesite/models.py index 749403b3..e26dd0f3 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -803,7 +803,8 @@ class Train(models.Model): # 培训表 User, on_delete=models.CASCADE, null=True, blank=True) otherparticipant = models.CharField(max_length=1000, null=True, blank=True) deletemark = models.IntegerField(default='1') - state = models.IntegerField(default='0') + state = models.IntegerField(default='0') #是否关闭 + jsqd = models.IntegerField(verbose_name='结束签到',default=0)#默认关闭 participantnum = models.IntegerField(default='1', null=True, blank=True) knownum = models.IntegerField(default='1', null=True, blank=True) pxxg = models.CharField(max_length=1000, null=True, blank=True) @@ -820,6 +821,7 @@ class Trainuser(models.Model): # 培训人员记录 ExamTestDetail, on_delete=models.CASCADE, null=True, blank=True) checked = models.IntegerField(default=0) qdsj = models.DateTimeField(null=True, blank=True) + jsqd = models.DateTimeField(verbose_name='结束签到时间',null=True,blank=True) isnew = models.IntegerField(default=0) opinion = models.CharField(max_length=1000, null=True, blank=True) @@ -863,17 +865,22 @@ class RiskAct(models.Model): # 风险点表 tasktype = models.IntegerField(default=0) tasktime = models.DateTimeField(null=True, blank=True) # 最后任务开始时间 -class EquipmentCheckItem(models.Model):# 设备检查项目 - item = models.CharField(max_length=200,verbose_name='检查项目') +class EquipmentCheckItem(models.Model):# 检查项目 + name = models.CharField(max_length=200,verbose_name='检查项目') content = models.CharField(max_length=400,verbose_name='检查内容') usecomps = ArrayField(models.IntegerField(), blank=True, null=True) nousecomps = ArrayField(models.IntegerField(), blank=True, null=True) -class EquipmentCheckForm(models.Model):# 设备检查表 +class EquipmentCheckForm(models.Model):# 检查表 name = models.CharField(max_length=200,verbose_name='名称') desc = models.CharField(max_length=400,verbose_name='描述') items = models.ManyToManyField(EquipmentCheckItem,related_name='checkitems', through='EFormItems') - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE, null=True, blank=True) + deletemark = models.IntegerField(default=1,verbose_name="删除标记") + createby = models.ForeignKey(User,on_delete=models.CASCADE, verbose_name="创建人",null=True,blank=True) + usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE, verbose_name='所属公司') + def __str__(self): + return self.name + class EFormItems(models.Model): equipment_check_form = models.ForeignKey(EquipmentCheckForm,on_delete=models.CASCADE) @@ -913,6 +920,7 @@ class Equipment(models.Model): # 设备表 qrcode = models.CharField(max_length=200, blank=True, null=True) riskact = models.ForeignKey( RiskAct, null=True, blank=True, on_delete=models.CASCADE) + checkform = models.ForeignKey(EquipmentCheckForm,on_delete=models.CASCADE,null=True,blank=True) diff --git a/safesite/serializers.py b/safesite/serializers.py new file mode 100644 index 00000000..8c4584a2 --- /dev/null +++ b/safesite/serializers.py @@ -0,0 +1,40 @@ +from .models import * +from rest_framework import serializers + +class UserSerializers(serializers.ModelSerializer): + class Meta: + model = User + fields = ('userid','name','username') + read_only_fields = ('userid',) + +class EquipmentCheckItemSerializers(serializers.ModelSerializer): + class Meta: + model = EquipmentCheckItem + fields = ('id','name','content') + read_only_fields = ('id',) + +class EquipmentCheckFormSerializers(serializers.Serializer): + id = serializers.IntegerField(read_only=True) + name = serializers.CharField() + desc = serializers.CharField() + createby = serializers.PrimaryKeyRelatedField(read_only=True) + usecomp = serializers.PrimaryKeyRelatedField(read_only=True) + createby = UserSerializers(read_only=True) + items = serializers.SerializerMethodField(read_only=True) + def create(self, validated_data): + items = validated_data.pop('items') + instance = EquipmentCheckForm.objects.create(**validated_data) + validated_data['items'] = items + return instance + + def update(self,instance,validated_data): + items = validated_data.pop('items') + instance = instance.update(**validated_data) + validated_data['items'] = items + return instance + + def get_items(self,obj): + queryset = EFormItems.objects.filter(equipment_check_form=obj).all() + return [{'id':row.equipment_check_item.id,'name':row.equipment_check_item.name,'content':row.equipment_check_item.content} for row in queryset] + + diff --git a/safesite/templates/abtrain.html b/safesite/templates/abtrain.html index ca85d650..0059cc1a 100644 --- a/safesite/templates/abtrain.html +++ b/safesite/templates/abtrain.html @@ -60,6 +60,9 @@