diff --git a/groups.zip b/groups.zip deleted file mode 100644 index 59b0273d..00000000 Binary files a/groups.zip and /dev/null differ diff --git a/safesite/migrations/0286_auto_20191030_1632.py b/safesite/migrations/0286_auto_20191030_1632.py new file mode 100644 index 00000000..a75b4dab --- /dev/null +++ b/safesite/migrations/0286_auto_20191030_1632.py @@ -0,0 +1,23 @@ +# Generated by Django 2.1.5 on 2019-10-30 16:32 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0285_remove_companyinfo_liaison_fax'), + ] + + operations = [ + # migrations.RemoveField( + # model_name='companyinfo', + # name='liaison_fax', + # ), + migrations.AddField( + model_name='equipment', + name='riskact', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='safesite.RiskAct'), + ), + ] diff --git a/safesite/models.py b/safesite/models.py index 7885bff6..9a8edf16 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -660,6 +660,24 @@ class Relation(models.Model):#各模块关系表,没用到 remark = models.CharField(max_length=1000,null=True,blank=True) +class RiskAct(models.Model):#风险点表 + id = models.AutoField(primary_key=True) + area = models.ForeignKey(Area,on_delete=models.CASCADE,null=True,blank=True,related_name='riskactarea') + place = models.CharField(max_length=50,null=True,blank=True) + type = models.ForeignKey(Dickey,on_delete=models.CASCADE,null=True,blank=True) + name = models.CharField(max_length=200,null=True,blank=True) + createtime = models.DateTimeField(default = timezone.now) + level = models.CharField(max_length=50,null=True,blank=True) + usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) + qrcode = models.CharField(max_length=200,blank=True,null=True) + gkcj = models.CharField(max_length=50,null=True,blank=True)#从此往下以风险点来管控 + zrbm = models.ForeignKey(Partment,related_name='riskzrbm2',on_delete=models.CASCADE,null=True,blank=True) + zrr = models.ForeignKey(User,related_name='riskzrr2',on_delete=models.CASCADE,null=True,blank=True) + group = models.ForeignKey(Group,on_delete=models.CASCADE,null=True,blank=True) + modifytime = models.DateTimeField(auto_now = True) + tasktype = models.IntegerField(default=0) + tasktime = models.DateTimeField(null=True,blank=True) #最后任务开始时间 + class Equipment(models.Model):#设备表 id = models.AutoField(primary_key=True) num = models.CharField(max_length=30,null=True,blank=True) @@ -686,6 +704,7 @@ class Equipment(models.Model):#设备表 zrr = models.ForeignKey(User,on_delete=models.CASCADE,null=True,blank=True) img = models.CharField(max_length=1000,blank=True,null=True) qrcode = models.CharField(max_length=200,blank=True,null=True) + riskact = models.ForeignKey(RiskAct,null=True,blank=True,on_delete=models.CASCADE) class Inspect(models.Model):#设备巡检记录 id = models.AutoField(primary_key=True) @@ -697,24 +716,6 @@ class Inspect(models.Model):#设备巡检记录 user = models.ForeignKey(User,blank=True,null=True,on_delete=models.CASCADE) usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) trouble = models.ForeignKey(Trouble,on_delete=models.CASCADE,null=True,blank=True) - -class RiskAct(models.Model):#风险点表 - id = models.AutoField(primary_key=True) - area = models.ForeignKey(Area,on_delete=models.CASCADE,null=True,blank=True,related_name='riskactarea') - place = models.CharField(max_length=50,null=True,blank=True) - type = models.ForeignKey(Dickey,on_delete=models.CASCADE,null=True,blank=True) - name = models.CharField(max_length=200,null=True,blank=True) - createtime = models.DateTimeField(default = timezone.now) - level = models.CharField(max_length=50,null=True,blank=True) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) - qrcode = models.CharField(max_length=200,blank=True,null=True) - gkcj = models.CharField(max_length=50,null=True,blank=True)#从此往下以风险点来管控 - zrbm = models.ForeignKey(Partment,related_name='riskzrbm2',on_delete=models.CASCADE,null=True,blank=True) - zrr = models.ForeignKey(User,related_name='riskzrr2',on_delete=models.CASCADE,null=True,blank=True) - group = models.ForeignKey(Group,on_delete=models.CASCADE,null=True,blank=True) - modifytime = models.DateTimeField(auto_now = True) - tasktype = models.IntegerField(default=0) - tasktime = models.DateTimeField(null=True,blank=True) #最后任务开始时间 class Risk(models.Model):#风险表 tasktype_choices = ( diff --git a/safesite/templates/equipment.html b/safesite/templates/equipment.html index 1b16082f..bdf61857 100644 --- a/safesite/templates/equipment.html +++ b/safesite/templates/equipment.html @@ -64,11 +64,15 @@ - + + 选择 + + + - + 保存 @@ -192,6 +196,13 @@ $('#cate').combobox('setValue', res.cate__dickeyid) $('#area').combotree('setValue', res.area__id) $('#zrbm').combotree('setValue', res.zrbm__partid) + $('#fxdinput').val(res.riskact__id) + $('#fxdspan').css('color','blue') + $('#fxdspan').html(' '+res.riskact__name) + if(res.riskact__name==undefined){ + $('#fxdspan').css('color','red') + $('#fxdspan').html(' 未绑定') + } $('#zrr').combobox({ url: 'getuser?partid=' + res.zrbm__partid + '&a=combobox', }).combobox('setValue', res.zrr__userid) if (res.iskey == 1) { $('#iskey').prop("checked", true); @@ -320,4 +331,9 @@ }; //请求完成 xhr.onerror = function (evt) { $.messager.alert('提示', '失败!文件内容有误'); document.getElementById('drfile').value = ''; }; //请求失败 } + function choosefxd(){ + var myh = screen.availHeight * 0.8; + var area = $('#area').combotree('getValue') + opendg('选择风险点','html/riskact/chose?area='+area,myh) + } \ No newline at end of file diff --git a/safesite/templates/rights.html b/safesite/templates/rights.html index 0edf1d27..21637d71 100644 --- a/safesite/templates/rights.html +++ b/safesite/templates/rights.html @@ -14,14 +14,15 @@ animate: true, checkbox: true, lines: true, - loadFilter: function (rows) { - return convertmenu(rows); + loadFilter: function (rows) { + var rows = convertmenu(rows) + return rows; }, onClick: function (node) { }, onCheck:function(node){ - console.log($('#rightstree').tree('getChecked', ['checked','indeterminate'])) + //console.log($('#rightstree').tree('getChecked', ['checked','indeterminate'])) }, onBeforeLoad: function (node, param) { diff --git a/safesite/templates/riskactchose.html b/safesite/templates/riskactchose.html new file mode 100644 index 00000000..ca1c8212 --- /dev/null +++ b/safesite/templates/riskactchose.html @@ -0,0 +1,68 @@ +
+
+
+
+ + + 查询 +
+
+
+
+
+ \ No newline at end of file diff --git a/safesite/urls.py b/safesite/urls.py index e8ae3b25..09d764b9 100644 --- a/safesite/urls.py +++ b/safesite/urls.py @@ -88,6 +88,7 @@ urlpatterns = [ path('html/bhr',views.bhrhtml), path('riskas',views.riskas), path('html/examhistory//',views.examhistory), + path('html/riskact/chose',views.riskactchose), #html页面 diff --git a/safesite/views.py b/safesite/views.py index 4a3b9167..427cffab 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -95,6 +95,11 @@ def taskdo(req): return render(req,'taskdo.html') def task(req): return render(req,'task.html') +def riskactchose(req): + area = 0 + if req.GET.get('area',None): + area = req.GET.get('area') + return render(req,'riskactchose.html',locals()) def riskactedit(req,id): return render(req,'riskactedit.html',{'id':id}) def riskactadd(req): @@ -566,7 +571,7 @@ def apirights(req): allrights = Group.objects.get(usecomp__partid=companyid,grouptype=0).menulink.split(',') menus = Menu.objects.exclude(menuid__in=[11,9]).filter(menuid__in = allrights,deletemark=1).order_by('menuid').values('menuid','menucode','parentid','url','menuname','icon').distinct() for i in menus: - if str(i['menuid']) in haverights: + if str(i['menuid']) in haverights and i['url'] != None: i['checked']=True else: i['checked']=False @@ -578,6 +583,10 @@ def apirights(req): rlist = ['11','9'] for i in data: rlist.append(str(i['id'])) + # x = i['id'] + # while Menu.objects.get(menuid=x).parentid != None: + # x = Menu.objects.get(menuid=x).parentid.menuid + # rlist.append(str(x)) Group.objects.filter(groupid=groupid).update(menulink=','.join(list(set(rlist)))) return JsonResponse({"code":1}) elif a=='have': @@ -4036,6 +4045,12 @@ def apitool(req): x['id']=i.partid m.append(x) return JsonResponse({'wxgs':m}) + elif a == 'correct_spjd': + for i in Operationspjd.objects.all(): + if i.spr: + i.sprs = [i.spr.userid] + i.save() + return JsonResponse({"code":1}) @@ -5353,6 +5368,8 @@ def apiequipment(req): obj.zrbm = Partment.objects.get(partid=data['zrbm']) if data['zrr']: obj.zrr = User.objects.get(userid=data['zrr'] ) + if data['riskact']: + obj.riskact = RiskAct.objects.get(id=data['riskact']) obj.parameter = data['parameter'] obj.usecomp=Partment.objects.get(partid=companyid) obj.save() @@ -5370,7 +5387,7 @@ def apiequipment(req): return JsonResponse({"code":0}) elif a == 'detail': id = req.GET.get('id') - a = Equipment.objects.filter(id=id).values('id','num','name','type','oem','udate','fdate','fnum','place','istz','iskey','state','cate__dickeyname','cate__dickeyid','parameter','img','area__name','area__id','zrbm__partid','zrr__userid','zrbm__partname','zrr__name','qrcode') + a = Equipment.objects.filter(id=id).values('id','num','name','type','oem','udate','fdate','fnum','place','istz','iskey','state','cate__dickeyname','cate__dickeyid','parameter','img','area__name','area__id','zrbm__partid','zrr__userid','zrbm__partname','zrr__name','qrcode','riskact__name','riskact__id') return JsonResponse(a[0]) @@ -5475,9 +5492,9 @@ def apiriskact(req): companyid = getcompany(userid) if a=='listall': a = RiskAct.objects.filter(usecomp__partid=companyid) - if req.GET.get('area'): + if int(req.GET.get('area',0)): a = a.filter(area__id = req.GET.get('area')) - if req.GET.get('type'): + if int(req.GET.get('type',0)): a = a.filter(type__dickeyid=req.GET.get('type')) total = a.count() startnum,endnum=fenye(req) @@ -5613,8 +5630,14 @@ def apirisk(req): data = json.loads(req.body.decode('utf-8')) if req.GET.get('type') == 'equipment': areaid = data['areaid'] + equipmentid = data['id'] equipmentname = data['name'] - objs = Risk.objects.filter(usecomp__partid=companyid,riskact__area__id=areaid,riskact__name__contains=equipmentname) + objs = Risk.objects.filter(usecomp__partid=companyid) + equipment = Equipment.objects.get(id=equipmentid) + if equipment.riskact:#如果该设备存在绑定的风险 + objs = objs.filter(riskact=equipment.riskact) + else: + objs = objs.filter(riskact__area__id=areaid,riskact__name__contains=equipmentname) if objs.exists(): return JsonResponse({'code':1,'steps':list(objs.values('id','step','hazard','result','level','riskact__group__groupname','riskact__zrbm__partname','riskact__zrr__name'))}) else: