安全清单model

This commit is contained in:
caoqianming 2021-05-22 23:06:49 +08:00
parent c9c7ce6067
commit ad2ff3bdda
2 changed files with 71 additions and 2 deletions

View File

@ -1383,4 +1383,37 @@ class Checkjob(models.Model):
pmpeople=models.ManyToManyField(User,related_name='bcfr')#被处罚人员
content=models.TextField(null=True)#处罚内容
yhtp = models.TextField(null=True, blank=True)
zghtp = models.TextField(null=True, blank=True)
zghtp = models.TextField(null=True, blank=True)
class WorkList(models.Model):
"""
安全清单
"""
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="责任人")
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name="所属公司")
name = models.CharField('清单名称')
createtime = models.DateTimeField(default=timezone.now, verbose_name="创建时间")
updatetime = models.DateTimeField(auto_now=True)
class WorkItem(models.Model):
"""
清单项目
"""
worklist = models.ForeignKey(WorkList, on_delete=models.CASCADE, verbose_name="所属清单")
name = models.TextField('清单项目名称')
type = models.IntegerField(default=1) # 默认是责任2是指标 ,需反馈
createtime = models.DateTimeField(default=timezone.now, verbose_name="创建时间")
updatetime = models.DateTimeField(auto_now=True)
class WorkFeedBack(models.Model):
"""
清单反馈记录
"""
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="反馈人")
workitem = models.ForeignKey(WorkItem, on_delete=models.SET_NULL, null=True, blank=True)
isdone = models.IntegerField(default=1) # 默认是完成0是未完成
content = models.TextField('反馈内容')
createtime = models.DateTimeField(default=timezone.now, verbose_name="创建时间")
updatetime = models.DateTimeField(auto_now=True)

View File

@ -8933,4 +8933,40 @@ def apioffence(req):
obj = Offence.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
@apicheck_login
def apiworklist(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
if a == 'listall':
objs = WorkList.objects.filter(usecomp__partid=companyid)
if req.GET.get('search', None):
objs = objs.filter(Q(user__name__contains=req.GET.get('search'))|Q(name__contains=req.GET.get('search')))
total = objs.count()
startnum, endnum = fenye(req)
objs = objs.order_by('-createtime')[startnum:endnum].values('id', 'name', 'user__name', 'createtime', 'updatetime')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif a == 'add':
data = json.loads(req.body.decode('utf-8'))
user = User.objects.get(userid=userid)
data['user'] = user
data['usecomp'] = user.usecomp
instance = WorkList(**data)
instance.save()
return JsonResponse({"code":1})
elif a == 'detail':
id = req.GET.get('id')
obj = Offence.objects.filter(id=id)
res = obj.values('id', 'type', 'dept', 'area', 'parter', 'reporter', 'reporter__name', 'createtime', 'area__name', 'happentime', 'description', 'imgs', 'post', 'place')[0]
if res['imgs']:
res['imgs'] = res['imgs'].split('?')
return HttpResponse(json.dumps(res, cls=MyEncoder), content_type="application/json")
elif a == 'del':
data = json.loads(req.body.decode('utf-8'))
obj = Offence.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})