From 74e54e714078d09530fa04f417174de1dc2eda28 Mon Sep 17 00:00:00 2001 From: shilixia <2309368887@qq.com> Date: Wed, 25 Mar 2020 17:13:01 +0800 Subject: [PATCH] xiugairenwu --- safesite/export.py | 40 +++++++++ safesite/exportemp/grpxjl.xlsx | Bin 0 -> 10463 bytes safesite/templates/checkdetail.html | 113 +++++++++++++++++++++++++ safesite/templates/checkjob.html | 4 +- safesite/templates/checkjobadd.html | 4 +- safesite/templates/checkjobdetail.html | 2 +- safesite/templates/checklist.html | 49 ++++++++++- safesite/templates/personaltrain.html | 32 +------ safesite/urls.py | 1 + safesite/views.py | 38 +++++++-- 10 files changed, 239 insertions(+), 44 deletions(-) create mode 100644 safesite/exportemp/grpxjl.xlsx create mode 100644 safesite/templates/checkdetail.html diff --git a/safesite/export.py b/safesite/export.py index e4cb50d5..3a7e7149 100644 --- a/safesite/export.py +++ b/safesite/export.py @@ -468,6 +468,46 @@ def exportxlsx(a,objs): res['Content-Disposition'] = 'attachment;filename='+filename+'.xlsx' res.write(output.getvalue()) return res + elif a=='grpxjl': + #查询数据 + wslist = objs.values('train__trainnum', 'train__trainid', 'train__state', 'train__trainplace', 'train__starttime', 'train__trainname', + 'train__teacher', 'train__lecturer__name', 'participant__name', 'participant__name', 'checked', 'train__duration', 'examtestdetail') + #写入数据 + wb = load_workbook(dirname + 'safesite/exportemp/grpxjl.xlsx') + sheet = wb.active + x=3 + for i in wslist: + num = str(x) + sheet['a'+num] = i['participant__name'] + sheet['b'+num] = i['train__trainnum'] + if i['train__state']==0: + + sheet['c'+num] = "待评估" + else: + sheet['c'+num] = "已评估" + sheet['d'+num] = i['train__trainname'] + sheet['e'+num] = i['train__trainplace'] + sheet['f'+num] = i['train__starttime'] + sheet['g'+num] = i['train__duration'] + if i['checked']==0: + + sheet['h'+num] = "未微信签到" + else: + sheet['h'+num] = "已微信签到" + + sheet['i'+num] = i['train__teacher'] + + x = x + 1 + nowtime = datetime.now().strftime('%Y%m%d%H%M%S') + sheet['b1'] = nowtime + filename = 'WSS' + nowtime + 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 elif a=='jy': #查询数据 jylist = objs.values('jynum','jylb__dickeyname','jyr__name','jybm__partname','dqxz','jynr','qwxg','submittime','jyimg','jyimg2','pgr__name','clr__name','jyfk','clcs','clms') diff --git a/safesite/exportemp/grpxjl.xlsx b/safesite/exportemp/grpxjl.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..0c50241c741fd6234b7ef5f479b2860e357c6af4 GIT binary patch literal 10463 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 Yan%$NVI=;k1YrQIVR2wi_w(w10K&Oipa1{> literal 0 HcmV?d00001 diff --git a/safesite/templates/checkdetail.html b/safesite/templates/checkdetail.html new file mode 100644 index 00000000..ebd56dab --- /dev/null +++ b/safesite/templates/checkdetail.html @@ -0,0 +1,113 @@ +
+ + + \ No newline at end of file diff --git a/safesite/templates/checkjob.html b/safesite/templates/checkjob.html index ec0bde13..340df8ce 100644 --- a/safesite/templates/checkjob.html +++ b/safesite/templates/checkjob.html @@ -64,8 +64,8 @@ field: 'taskstate', title: '检查状态', width: 100, formatter: function (value, row, index) { switch (value) { - case 1: return '正在检查'; break; - case 2: return '检查完毕'; break; + case 1: return '正在整改中'; break; + case 2: return '已整改完成'; break; case 3: return '任务关闭'; break; } }, styler: function (value, row, index) { diff --git a/safesite/templates/checkjobadd.html b/safesite/templates/checkjobadd.html index ae0e21ea..010e4bfd 100644 --- a/safesite/templates/checkjobadd.html +++ b/safesite/templates/checkjobadd.html @@ -75,8 +75,8 @@ 检查状态: - 检查完成 - 正在检查 + 已整改完成 + 正在整改中 diff --git a/safesite/templates/checkjobdetail.html b/safesite/templates/checkjobdetail.html index 90330df7..24384c27 100644 --- a/safesite/templates/checkjobdetail.html +++ b/safesite/templates/checkjobdetail.html @@ -66,7 +66,7 @@ 验收人: - {{yanshouren__username}} + {{yanshouren__name}} 验收时间: {{yanshou}} diff --git a/safesite/templates/checklist.html b/safesite/templates/checklist.html index 9cbb672c..971afa1f 100644 --- a/safesite/templates/checklist.html +++ b/safesite/templates/checklist.html @@ -11,9 +11,9 @@ 发布任务 {% endif %} - - + 删除 + 详情
@@ -40,6 +40,7 @@ { field: 'checktime', title: '检查时间', width: 300 }, { field: 'createuser__name', title: '创建人', width: 300 }, { field: 'createdate', title: '创建时间', width: 300 }, + { field: 'checkplace', title: '检查地点', width: 300 }, { field: 'tasktype', title: '排查频次', width: 100, formatter: function (value, row, index) { @@ -69,6 +70,46 @@ function addcheckrw(){ opendg('发布检查任务','html/addcheckrw') } - - + function detailcheck() { + var row = $('#tasktab').datagrid('getSelected'); + if (row) { + opendg('检查任务详情','html/checkdetail/'+row.id.toString()) + } + else { + $.messager.alert('提示', '请先选择一条数据!'); + } + + } + function deltask() { + var row = $('#tasktab').datagrid('getSelected'); + if (row) { + $.messager.confirm('提示', '确定删除吗?', function (r) { + if (r) { + $.ajax({ + type: "GET", + url: 'api/checkproject?a=del', + data: { 'id': row.id }, + datatype: "json", + beforeSend: function () { }, + success: function (data) { + if (data.code == 1) { + $("#tasktab").datagrid('reload'); + } + else { + $.messager.alert('提示', '你无权删除该条任务信息!'); + } + }, + complete: function (XMLHttpRequest, textStatus) { + }, + error: function () { + } + }); + } + }); + + } + else { + $.messager.alert('提示', '请选择一行数据!'); + } + } \ No newline at end of file diff --git a/safesite/templates/personaltrain.html b/safesite/templates/personaltrain.html index c1b7f2fe..97dc86ab 100644 --- a/safesite/templates/personaltrain.html +++ b/safesite/templates/personaltrain.html @@ -112,33 +112,9 @@ } function exportgrpxexcel() { - var datalist = $('#grpxtable').datagrid('getData').rows; - for(var j = 0,len = datalist.length; j < len; j++){ - var dic = datalist[j] - for (var key in dic) { - dic["姓名"]=dic["participant__name"] - dic["培训编号"]=dic["train__trainnum"] - dic["培训名称"]=dic["train__trainname"] - dic["培训地点"]=dic["train__trainplace"] - dic["开始时间"]=dic["train__starttime"] - dic["得分"]=dic["score"] - if(dic["score"]==null){dic["得分"]=''} - if(dic["checked"]==0){dic["签到情况"]='未微信签到'} - if(dic["checked"]==1){dic["签到情况"]='已微信签到'} - dic["授课人"]=dic["train__lecturer__name"] - delete dic["train__trainid"]; - delete dic["participant__name"]; - delete dic["train__trainnum"]; - delete dic["train__trainname"]; - delete dic["train__trainplace"]; - delete dic["train__starttime"]; - delete dic["score"]; - delete dic["checked"]; - delete dic["train__lecturer__name"]; - delete dic["train__state"]; - delete dic["train__teacher"]; - } - } - JSONToCSVConvertor(JSON.stringify(datalist), "个人培训档案", true); + var sry = $('#sry').combobox('getValue') + let url = 'api/train?a=exportexcel&sry='+sry + $('
').appendTo('body').submit().remove(); + } \ No newline at end of file diff --git a/safesite/urls.py b/safesite/urls.py index 8f6d01c8..6a856e6d 100644 --- a/safesite/urls.py +++ b/safesite/urls.py @@ -115,6 +115,7 @@ urlpatterns = [ path('html/addcheckjob//',views.addcheckjob),#检查任务 path('html/detailjob//',views.detailjob),#任务详情 path('html/updchecktable//',views.updchecktable),#修改检查表 + path('html/checkdetail//',views.checkdetail),#任务分配详情 #html页面 diff --git a/safesite/views.py b/safesite/views.py index ba4f4f9f..41c3f8e8 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -502,7 +502,8 @@ def operprocedetail(req, id): def datashow2(req): return render(req,'datashow2.html') - +def checkdetail(req,id): + return render(req,'checkdetail.html',{'id':id}) def checktask(req):#检查项目 return render(req, 'checktable.html') def addchecktask(req):#责任制 @@ -6399,7 +6400,19 @@ def apitrain(req): objs = objs[startnum:endnum].values('train__trainnum', 'train__trainid', 'train__state', 'train__trainplace', 'train__starttime', 'train__trainname', 'train__teacher', 'train__lecturer__name', 'participant__name', 'participant__name', 'checked', 'train__duration', 'examtestdetail') return HttpResponse(transjson(total, objs), content_type="application/json") + elif req.GET.get('a') == 'exportexcel': + userid = req.session['userid'] + companyid = getcompany(userid) + a = Trainuser.objects.filter(train__deletemark=1) + if req.GET.get('sry'): + a = a.filter(participant__userid=req.GET.get('sry')) + else: + a = a.filter(participant__userid=userid) + + res = exportxlsx('grpxjl', a) + return res + def apiquestioncat(req): a = req.GET.get('a') userid = req.session['userid'] @@ -7723,16 +7736,16 @@ def checkprojects(req): return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'listall3': startnum,endnum = fenye(req) - a = Checktask.objects.filter(usecomp=Partment.objects.get(partid=companyid), deletemark=1) + a = Checktask.objects.filter(usecomp=Partment.objects.get(partid=companyid), deletemark=1).order_by('-createdate') total = a.count() startnum, endnum = fenye(req) - a = a[startnum:endnum].values('id','checktaskname','tasktype','checktype__checktitle','checkplace', 'checktime','createuser__name','createdate') - + a = a[startnum:endnum].values('id','checktaskname','tasktype','checkname','checktype__checktitle','checkplace', 'checktime','createuser__name','createdate') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'listall4': startnum,endnum = fenye(req) - a = Checkjob.objects.filter(usecomp=Partment.objects.get(partid=companyid),checkname__userid=userid,deletemark=1) + a = Checkjob.objects.filter(usecomp=Partment.objects.get(partid=companyid),checkname__userid=userid,deletemark=1).order_by('-starttime') total = a.count() startnum, endnum = fenye(req) @@ -7899,7 +7912,7 @@ def checkprojects(req): #删除 elif a == 'del': id =req.GET.get('id') - a = Checkproject.objects.get(id=id) + a = Checktask.objects.get(id=id) if a.createuser==User.objects.get(userid=userid): a.deletemark=0 a.save() @@ -7931,6 +7944,17 @@ def checkprojects(req): uselist.append(item.name) x = a.values('checktask__checktaskname','starttime','zgjg','checktask__tasktype','endtime','jobstate','zguser__username','checktask__checktype__checkcontent','checktask__checkplace','checktask__checktime' ,'checkname__username', 'checkquestion', 'zgtime', 'zguser__username', 'createuser__username', - 'createdate', 'taskstate','content','pmpeople', 'zgyq','zgjg', 'yanshou', 'yanshouren__username')[0] + 'createdate', 'taskstate','content','pmpeople', 'zgyq','zgjg', 'yanshou', 'yanshouren__name')[0] + x['bcfr'] = uselist + return HttpResponse(json.dumps(x, cls=MyEncoder), content_type="application/json") + elif a == 'checkdetail': + id = req.GET.get('id') + a = Checktask.objects.filter(id=id) + list1=Checktask.objects.get(id=id).checkname.all() + uselist=[] + for item in list1: + uselist.append(item.name) + + x = a.values('checktaskname','zxstate','tasktype','checkplace','checktime','checktype__checktitle','checktype__checkcontent')[0] x['bcfr'] = uselist return HttpResponse(json.dumps(x, cls=MyEncoder), content_type="application/json") \ No newline at end of file