diff --git a/safesite/migrations/0316_auto_20200306_1444.py b/safesite/migrations/0316_auto_20200306_1444.py new file mode 100644 index 00000000..071d0e2a --- /dev/null +++ b/safesite/migrations/0316_auto_20200306_1444.py @@ -0,0 +1,23 @@ +# Generated by Django 2.2.8 on 2020-03-06 14:44 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0315_auto_20200115_1421'), + ] + + operations = [ + migrations.AlterField( + model_name='checkjob', + name='yanshou', + field=models.DateTimeField(blank=True, null=True), + ), + migrations.AlterField( + model_name='checktask', + name='checktime', + field=models.DateTimeField(blank=True, null=True), + ), + ] diff --git a/safesite/models.py b/safesite/models.py index dd3de194..8a04ba8a 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -1196,7 +1196,7 @@ class Checktask(models.Model): checktaskname=models.CharField(max_length=300)#任务名 checktype=models.ForeignKey(Checktable,on_delete=models.CASCADE)#关联检查表 checkname=models.ManyToManyField(User,related_name='jiancha')#检查人员 - checktime= models.DateTimeField(default = timezone.now)#检查时间 + checktime= models.DateTimeField(null=True, blank=True)#检查时间 checkplace=models.CharField(max_length=200)#检查地点 createuser = models.ForeignKey(User,related_name='chuangjians',on_delete=models.CASCADE)#创建人 createdate = models.DateTimeField(default = timezone.now)#创建时间 @@ -1216,5 +1216,5 @@ class Checkjob(models.Model): taskstate = models.IntegerField(default=1)#检查任务状态,1正在检查,2检查完毕 zgyq=models.CharField(max_length=200,null=True)#整改要求 zgjg=models.CharField(max_length=200,null=True)#整改结果 - yanshou=models.DateTimeField(default = timezone.now)#验收时间 + yanshou=models.DateTimeField(null=True, blank=True)#验收时间 yanshouren=models.ForeignKey(User,related_name='yanshouren',on_delete=models.CASCADE,null=True)#验收人员 \ No newline at end of file diff --git a/safesite/templates/checkjob.html b/safesite/templates/checkjob.html index 528a552f..86e0d61d 100644 --- a/safesite/templates/checkjob.html +++ b/safesite/templates/checkjob.html @@ -1,13 +1,25 @@
-
- - -
- 查看任务 - 删除 + + + +
+
+ {% load myfilter %} + {% if request|has_permission:'b_checkjob_add' %} + 执行任务 + {% endif %} + {% if request|has_permission:'b_checkjob_detail' %} + 详情 + {% endif %} +
@@ -17,7 +29,15 @@ $(function () { }) - + $('#kjcxyh').combobox({ + editable: false, + onSelect: function (node) { + if (node.value != '') { + $('#jobtab').datagrid({ url: 'api/checkproject', queryParams: { a: node.value } }); + } + + } + }) $('#jobtab').datagrid({ url: 'api/checkproject?a=listall4', rownumbers: true, @@ -34,7 +54,11 @@ { field: 'checktask__checktaskname', title: '任务名称', width: 100 }, { field: 'checktask__checktype__checktitle', title: '检查表', width: 100 }, { field: 'checktask__checktime', title: '检查时间', width: 100 }, + { field: 'checkname__username', title: '检查人员', width: 100 }, { field: 'createdate', title: '创建时间', width: 100 }, + //{ field: 'zguser__username', title: '整改人', width: 100 }, + //{ field: 'zgtime', title: '整改时间', width: 100 }, + { field: 'taskstate', title: '执行状态', width: 100, formatter: function (value, row, index) { if (value == 1) { @@ -46,7 +70,8 @@ } }, - //{ field: 'checkname__name', title: '检查人员', width: 100 }, + { field: 'yanshou', title: '验收时间', width: 100 }, + // //{ field: 'zguser__name', title: '整改人', width: 100 }, //{ field: 'zgtime', title: '整改时间', width: 100 }, @@ -63,6 +88,14 @@ } } - + function detailtask() { + var row = $('#jobtab').datagrid('getSelected'); + if (row) { + opendg('任务详情','html/detailjob/'+row.id.toString()) + } + else { + $.messager.alert('提示', '请先选择一条数据!'); + } + } \ No newline at end of file diff --git a/safesite/templates/checkjobadd.html b/safesite/templates/checkjobadd.html index a391306e..8966d4f9 100644 --- a/safesite/templates/checkjobadd.html +++ b/safesite/templates/checkjobadd.html @@ -27,6 +27,12 @@ + + 检查地点: + + + + 检查内容: @@ -39,37 +45,37 @@ - - 整改时间: - - - - - - 整改人: - - - - - - 整改要求: - - - - - - 整改结果: - - - - + 检查状态: - 正在检查 - 检查完成 + 正在检查 + 检查完成 @@ -89,9 +95,11 @@ var data = res.data console.log(data) $('#checktaskname').textbox('setValue', data.checktask__checktaskname) - $('#checktabtitle').textbox('setValue', data.checkname__name) + $('#checktabtitle').textbox('setValue', data.checkname__username) $('#starttime').datetimebox('setValue', data.checktask__checktime) $('#checkcontent').textbox('setValue', data.checktask__checktype__checkcontent) + $('#checkplace').textbox('setValue', data.checktask__checkplace) + }); }) @@ -102,7 +110,7 @@ var wsdata = $('#wsff').serializeJSON(); $.ajax({ type: "POST", - url: 'api/checkproject?a=addchecklist', + url: 'api/checkproject?a=addjob&jobid='+jobid, data: JSON.stringify(wsdata), datatype: "json", processData: false, @@ -117,7 +125,7 @@ }, success: function (data) { if (data.code == 1) { - $('#tasktab').datagrid('reload'); + $('#jobtab').datagrid('reload'); $("#dd").dialog("close"); } else { $.messager.alert('提示', '失败!'); } $('#submitb').linkbutton('enable'); diff --git a/safesite/templates/checkjobdetail.html b/safesite/templates/checkjobdetail.html new file mode 100644 index 00000000..a6742cf1 --- /dev/null +++ b/safesite/templates/checkjobdetail.html @@ -0,0 +1,136 @@ +
+ + + \ No newline at end of file diff --git a/safesite/templates/checklist.html b/safesite/templates/checklist.html index 67e6d3ce..5bebf60f 100644 --- a/safesite/templates/checklist.html +++ b/safesite/templates/checklist.html @@ -6,8 +6,12 @@
+ {% load myfilter %} + {% if request|has_permission:'b_checklist_add' %} 发布任务 - 删除 + {% endif %} + +
@@ -36,8 +40,8 @@ { field: 'checktime', title: '检查时间', width: 300 }, { field: 'createuser__name', title: '创建人', width: 300 }, { field: 'createdate', title: '创建时间', width: 300 }, - - + { field: 'checkplace', title: '检查地点', width: 300 }, + ]] }); diff --git a/safesite/templates/checklistadd.html b/safesite/templates/checklistadd.html index fc7159d9..063311d2 100644 --- a/safesite/templates/checklistadd.html +++ b/safesite/templates/checklistadd.html @@ -23,7 +23,10 @@
- +
+ +
diff --git a/safesite/templates/checktable.html b/safesite/templates/checktable.html index a93fd0f3..875fd358 100644 --- a/safesite/templates/checktable.html +++ b/safesite/templates/checktable.html @@ -6,9 +6,14 @@
- 新增 - 删除 + {% load myfilter %} + {% if request|has_permission:'b_checktable_add' %} + 新增 + {% endif %} + {% if request|has_permission:'b_checktable_del' %} + 删除 + {% endif %}
diff --git a/safesite/urls.py b/safesite/urls.py index 5ff2cdac..6ccacadd 100644 --- a/safesite/urls.py +++ b/safesite/urls.py @@ -109,6 +109,7 @@ urlpatterns = [ path('html/addcheckrw',views.addcheckrw),#检查任务 path('html/checkjob',views.checkjob),#检查任务 path('html/addcheckjob//',views.addcheckjob),#检查任务 + path('html/detailjob//',views.detailjob),#任务详情 #html页面 diff --git a/safesite/views.py b/safesite/views.py index 1e26099d..6cdc9b85 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -508,7 +508,8 @@ def checklist(req): return render(req,'checklist.html') def addcheckrw(req): return render(req,'checklistadd.html') - +def detailjob(req,id): + return render(req,'checkjobdetail.html',{'id':id}) def mainhtml(req): # 计算一些数据 userid = req.session['userid'] @@ -7393,7 +7394,7 @@ def checkprojects(req): total = a.count() startnum, endnum = fenye(req) - a = a[startnum:endnum].values('id','checktaskname','checktype__checktitle', 'checktime','createuser__name','createdate') + a = a[startnum:endnum].values('id','checktaskname','checktype__checktitle','checkplace', 'checktime','createuser__name','createdate') return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'listall4': @@ -7402,14 +7403,55 @@ def checkprojects(req): total = a.count() startnum, endnum = fenye(req) - a = a[startnum:endnum].values('id','checktask__checktaskname','zguser__name','zgtime','checktask__checktype__checktitle','checkname__name', 'taskstate','checktask__checktime','createuser__name','createdate') + a = a[startnum:endnum].values('id','checktask__checktaskname','yanshou','checkquestion','zguser__username','zgtime','checktask__checktype__checktitle','checkname__username', 'taskstate','checktask__checktime','createuser__username','createdate') return HttpResponse(transjson(total, a), content_type="application/json") + + + elif a == 'listchuli': + a = Checkjob.objects.filter(usecomp=Partment.objects.get(partid=companyid),taskstate=2,checktask__createuser__userid=userid).exclude(deletemark=0) + total = a.count() + startnum, endnum = fenye(req) + a = a[startnum:endnum].values('id','checktask__checktaskname','checkquestion','zguser__username','zgtime','checktask__checktype__checktitle','checkname__username', 'taskstate','checktask__checktime','createuser__username','createdate') + + return HttpResponse(transjson(total, a), content_type="application/json") + elif a == 'listself': + a = Checkjob.objects.filter(usecomp=Partment.objects.get(partid=companyid),checkname__userid=userid,deletemark=1) + total = a.count() + startnum, endnum = fenye(req) + + a = a[startnum:endnum].values('id','checktask__checktaskname','checkquestion','zguser__username','zgtime','checktask__checktype__checktitle','checkname__username', 'taskstate','checktask__checktime','createuser__username','createdate') + + return HttpResponse(transjson(total, a), content_type="application/json") + elif a == 'listallx': + a = Checkjob.objects.filter(usecomp=Partment.objects.get( + partid=companyid),deletemark=1) + total = a.count() + startnum, endnum = fenye(req) + a = a[startnum:endnum].values('id','checktask__checktaskname','checkquestion','zguser__username','zgtime','checktask__checktype__checktitle','checkname__username', 'taskstate','checktask__checktime','createuser__username','createdate') + + return HttpResponse(transjson(total, a), content_type="application/json") + elif a == 'jobdetail': obj = Checkjob.objects.filter(id=req.GET.get('id')) - obj = obj.values('checktask__checktaskname','checktask__checktype__checkcontent','checkname__name','checktask__checktime')[0] + obj = obj.values('checktask__checktaskname','zguser','checkplace','checktask__checktype__checkcontent','checkname__username','checktask__checktime')[0] return JsonResponse({'code': 1, 'data': obj}) + elif a == 'addjob': + data = json.loads(req.body.decode('utf-8')) + obj = Checkjob.objects.get(id=req.GET.get('jobid')) + obj.checkquestion = data['checkquestion'] + + obj.taskstate = data['taskstate'] + obj.createuser = User.objects.get(userid=userid) + obj.save() + return JsonResponse({'code': 1}) + elif a == 'yanshou': + obj = Checkjob.objects.get(id=req.GET.get('id')) + obj.yanshou = datetime.now() + obj.yanshouren = User.objects.get(userid=userid) + obj.save() + return JsonResponse({'code': 1}) elif a=='checktablist': projectlist = Checktable.objects.filter(usecomp__partid=companyid).values('id', 'checktitle') return HttpResponse(transstr(projectlist,'id','checktitle'),content_type="application/json") @@ -7418,10 +7460,10 @@ def checkprojects(req): obj = Checktask() obj.checktaskname = data['checktaskname'] obj.checktime=data['starttime'] + obj.checkplace=data['checkplace'] obj.checktype =Checktable.objects.get(id=data['checktabtitle']) obj.createuser = User.objects.get(userid=userid) obj.usecomp=Partment.objects.get(partid=companyid) - obj.yanshouren=User.objects.get(userid=userid) obj.save() list = data['participant'].split(',') @@ -7446,4 +7488,11 @@ def checkprojects(req): else: - return JsonResponse({"code":0}) \ No newline at end of file + return JsonResponse({"code":0}) + elif a == 'checkjobdetail': + id = req.GET.get('id') + a = Checkjob.objects.filter(id=id) + x = a.values('checktask__checktaskname','zguser__username','checktask__checktype__checkcontent','checktask__checkplace','checktask__checktime' ,'checkname__username', 'checkquestion', 'zgtime', 'zguser__username', 'createuser__username', + 'createdate', 'taskstate', 'zgyq','zgjg', 'yanshou', 'yanshouren__username')[0] + + return HttpResponse(json.dumps(x, cls=MyEncoder), content_type="application/json") \ No newline at end of file