diff --git a/safesite/export.py b/safesite/export.py index fe294ec4..15f93f08 100644 --- a/safesite/export.py +++ b/safesite/export.py @@ -2,7 +2,7 @@ from docxtpl import DocxTemplate, InlineImage from docx.shared import Mm, Inches, Pt from openpyxl import Workbook, load_workbook from openpyxl.drawing.image import Image -from .models import User,Trouble,Dickey,Partment,Dicclass,Train,Drill,TroubleAccess,Group,Yjyc,ExamPaper,ExamPaperDetail,Question,Operation,Operzyry,Operspxq,Fxcs,Suggest,Suggestflow,Trainuser,Miss +from .models import Checkjob, User,Trouble,Dickey,Partment,Dicclass,Train,Drill,TroubleAccess,Group,Yjyc,ExamPaper,ExamPaperDetail,Question,Operation,Operzyry,Operspxq,Fxcs,Suggest,Suggestflow,Trainuser,Miss from datetime import datetime,date import base64 import os @@ -735,6 +735,32 @@ def exportxlsx(a,objs,pic=1): res['Content-Disposition'] = 'attachment;filename='+filename+'.xlsx' res.write(output.getvalue()) return res + elif a == 'chekjob': + #查询数据 + wb = load_workbook(dirname + 'safesite/exportemp/checkjob.xlsx') + sheet = wb.active + for i, x in enumerate(objs): + num = str(i+3) + sheet['a'+num] = x.num + sheet['b'+num] = x.name + if x.cate: + sheet['c'+num] = x.cate.dickeyname + sheet['d'+num] = x.type + if x.area: + sheet['e'+num] = x.area.name + sheet['f'+num] = '正常' if x.state==1 else '异常' + sheet['g'+num] = 'https://safeyun.ctcshe.com/miniprogram/equipment?id='+str(x.id) + + #开始生成excel + sheet['b1'] = datetime.now().strftime('%Y%m%d%H%M%S') + filename = '安全检查整改记录' + output = BytesIO() + wb.save(output) + output.seek(0) + res = HttpResponse(content_type='application/vnd.ms-excel') + res['Content-Disposition'] = 'attachment;filename='+filename+'.xlsx' + res.write(output.getvalue()) + return res def exportyjdoc(vl): doc = DocxTemplate(dirname + "safesite/exportemp/fxbg.docx") diff --git a/safesite/exportemp/checkjob.xlsx b/safesite/exportemp/checkjob.xlsx new file mode 100644 index 00000000..01755d33 Binary files /dev/null and b/safesite/exportemp/checkjob.xlsx differ diff --git a/safesite/models.py b/safesite/models.py index 846c877d..0cbfc044 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -1360,6 +1360,14 @@ class Checktable(models.Model): #检查任务 class Checktask(models.Model): + tasktype_choice = ( + (1, '每天一次'), + (2, '每周一次'), + (3, '每月一次'), + (4, '每季度一次'), + (5, '每半年一次'), + (6, '每年一次'), + ) id=models.AutoField(primary_key=True)#主键 checktaskname=models.CharField(max_length=300)#任务名 checktype=models.ForeignKey(Checktable,on_delete=models.CASCADE)#关联检查表 @@ -1370,12 +1378,18 @@ class Checktask(models.Model): createdate = models.DateTimeField(default = timezone.now)#创建时间 usecomp = models.ForeignKey(Partment,related_name='taskscomp',on_delete=models.CASCADE,null=True,blank=True)#创建公司 deletemark = models.IntegerField(default=1)#是否删除 - tasktype = models.IntegerField(default=0)#任务执行频率(1每天,2每周,3每月,4每季度,5每半年,6每年) + tasktype = models.IntegerField(default=1, choices=tasktype_choice)#任务执行频率(1每天,2每周,3每月,4每季度,5每半年,6每年) userlist = models.TextField(default='')#检查人列表 zxstate = models.IntegerField(default=1)#1同时执行,2一个执行就执行 taskstate = models.IntegerField(default=1)#是否暂停,1运行,2暂停 class Checkjob(models.Model): + taskstate_choice = ( + (1, '正在整改中'), + (2, '已整改完成'), + (3, '任务关闭'), + (4, '待执行') + ) id=models.AutoField(primary_key=True)#主键 checktask=models.ForeignKey(Checktask,on_delete=models.CASCADE)#关联任务表 checkname=models.ForeignKey(User,related_name='jianchas',on_delete=models.CASCADE)#检查人员 diff --git a/safesite/templates/checkjob.html b/safesite/templates/checkjob.html index 87726acc..851b4aa0 100644 --- a/safesite/templates/checkjob.html +++ b/safesite/templates/checkjob.html @@ -138,7 +138,6 @@ }); function yhsearch() { var querydata = $('#searchyhff').serializeJSON(); - querydata['a'] = 'listsearch' $('#sdg_job').dialog('close') $('#jobtab').datagrid('load', querydata); @@ -146,7 +145,7 @@ function reset() { $('#searchyhff').form('clear') $('#jobtab').datagrid('options').queryParams = { - a:'listall' + a:'listall4' } $('#jobtab').datagrid('load'); diff --git a/safesite/templates/checkjobdetail.html b/safesite/templates/checkjobdetail.html index 589804fe..04772827 100644 --- a/safesite/templates/checkjobdetail.html +++ b/safesite/templates/checkjobdetail.html @@ -6,8 +6,9 @@ 验收 {{/if}} 关闭 + 导出 -