feat: riskactcheck pc端增加详情展示

This commit is contained in:
caoqianming 2024-09-09 08:00:52 +08:00
parent 29eed3b8fd
commit 5af2e38a94
6 changed files with 155 additions and 7 deletions

View File

@ -25,7 +25,7 @@
function checkdetail(){ function checkdetail(){
var row = $('#riskactchecktable').datagrid('getSelected'); var row = $('#riskactchecktable').datagrid('getSelected');
if (row) { if (row) {
var url = 'html/riskacttask/detail/' + row.id var url = `html/riskacttask/${row.id}/`
opendg('查看详情',url,1000) opendg('查看详情',url,1000)
} }
else { $.messager.alert('提示', '请选择一行数据!'); } else { $.messager.alert('提示', '请选择一行数据!'); }

View File

@ -0,0 +1,143 @@
<div class="easyui-layout" id="result" style="width:100%;height:100%"></div>
<script type="text/html" id="text">
{% verbatim %}
<div data-options="region:'south'" id='southdiv' style="height:50px;text-align:center;padding:5px">
<!-- <a id="exportword" onclick="exportword()" class="easyui-linkbutton" data-options="iconCls: 'fa-download'">导出</a> -->
<a iconCls="fa-close" class="easyui-linkbutton" onclick="closeForm()">关闭</a>
</div>
<div data-options="region:'center'" style="height:100%;padding:15px 15px;">
<div class="labeldiv">风险点信息</div>
<table class='detailtable'>
<tr>
<td>风险区域:{{riskact__area__name}}</td>
<td>风险名称:{{riskact__name}}</td>
</tr>
</table>
<div class="labeldiv">风险点检查</div>
<table class='detailtable'>
<tr>
<td>是否任务派发:{{if istask==1}}
<span style="color:green"></span>
{{else}}
<span style="color:red"></span>
{{/if}}</td>
<td>任务备注:{{tasknote}}</td>
</tr>
<tr>
<td>执行时间: {{taskdo}}</td>
<td>任务时间: {{taskadd}}</td>
</tr>
<tr>
<td style="width:50%">执行部门:{{user__ubelongpart__partname}}</td>
<td>执行人:{{user__name}}</td>
</tr>
<tr>
<td>检查结果:{{if state==1}}
<span style="color:green">正常</span>
{{else}}
<span style="color:red">异常</span>
{{/if}}</td>
<td>检查备注: {{note}}</td>
</tr>
</table>
<div class="labeldiv">检查图片</div>
<table class='detailtable'>
<tr>
{{each imgs value index}}
<td><img onclick='bigger(this)' class='tp' width="180" height="180" src='{{value}}' /></td>
{{/each}}
</tr>
</table>
<div class="labeldiv">具体记录</div>
<table class='detailtable'>
<thead>
<tr>
<th style="width:20%">
风险(检查项)
</th>
<th style="width:40%">
具体内容
</th>
<th style="width:20%">
风险等级
</th>
<th style="width:20%">
隐患编号
</th>
</tr>
</thead>
{{each items}}
<tr>
<td>{{$value.risk__step}}</td>
<td>{{$value.risk__hazard}}</td>
<td>{{$value.risk__level}}</td>
<td>{{$value.trouble__yhnum}}</td>
</tr>
{{/each}}
</table>
</div>
{% endverbatim %}
</script>
<script type="text/javascript" src="/static/safesite/mystatic/js/template-web.js"></script>
<script>
var html;
var formid = {{ id }};
var formdata
template.defaults.imports.dateFormat = function (date, format) {
date = new Date(date);
var map = {
"M": date.getMonth() + 1, //月份
"d": date.getDate(), //日
"h": date.getHours(), //小时
"m": date.getMinutes(), //分
"s": date.getSeconds(), //秒
"q": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
format = format.replace(/([yMdhmsqS])+/g, function (all, t) {
var v = map[t];
if (v !== undefined) {
if (all.length > 1) {
v = '0' + v;
v = v.substr(v.length - 2);
}
return v;
}
else if (t === 'y') {
return (date.getFullYear() + '').substr(4 - all.length);
}
return all;
});
return format;
};
template.defaults.imports.gfilename = function(value){
x = value.split('/').pop();
return x;
}
$.ajax({
type: "get",
url: "api/riskacttask?a=detail",
data: { id: formid },
async: false, // ajax同步使用false
success: function (data) {
formdata = data.data
$.ajax({
type: "get",
url: "api/riskcheck2?a=listall",
data: { riskact: data.riskact, pageoff:1 },
async: false, // ajax同步使用false
success: function (data) {
formdata.items = data.rows
html = template('text', formdata);
$('#result').html(html);
}
});
}
});
</script>

View File

@ -25,7 +25,7 @@
function checkdetail(){ function checkdetail(){
var row = $('#riskchecktable').datagrid('getSelected'); var row = $('#riskchecktable').datagrid('getSelected');
if (row) { if (row) {
var url = 'html/riskacttask/detail/' + row.id var url = `html/riskacttask/${row.id}/`
opendg('查看详情',url,1000) opendg('查看详情',url,1000)
} }
else { $.messager.alert('提示', '请选择一行数据!'); } else { $.messager.alert('提示', '请选择一行数据!'); }

View File

@ -27,7 +27,7 @@
function taskdodetail(){ function taskdodetail(){
var row = $('#risktasktable').datagrid('getSelected'); var row = $('#risktasktable').datagrid('getSelected');
if (row) { if (row) {
var url = 'html/riskacttask/detail/' + row.id var url = `html/riskacttask/${row.id}/`
opendg('查看详情',url,1000) opendg('查看详情',url,1000)
} }
else { $.messager.alert('提示', '请选择一行数据!'); } else { $.messager.alert('提示', '请选择一行数据!'); }

View File

@ -96,6 +96,7 @@ urlpatterns = [
path('html/task',views.task), path('html/task',views.task),
path('html/taskdo',views.taskdo), path('html/taskdo',views.taskdo),
path('html/riskcheck',views.riskcheck),#风险点排查记录 path('html/riskcheck',views.riskcheck),#风险点排查记录
path('html/riskacttask/<int:id>/', views.riskacttask_detail_html),
path('html/risk/edit/<int:id>/',views.riskedit), path('html/risk/edit/<int:id>/',views.riskedit),
path('html/report/edit',views.reportedit), path('html/report/edit',views.reportedit),
path('html/bhr',views.bhrhtml), path('html/bhr',views.bhrhtml),

View File

@ -626,6 +626,9 @@ def updchecktable(req,id):
def checklisthtml(req): def checklisthtml(req):
return render(req, 'checklist_new.html') return render(req, 'checklist_new.html')
def riskacttask_detail_html(req, id):
return render(req, 'riskacttask_detail.html', {'id': id})
def mainhtml(req): def mainhtml(req):
# 计算一些数据 # 计算一些数据
@ -8388,10 +8391,10 @@ def apiriskacttask(req):
objs = objs.filter(taskdo_gte=req.GET.get('qssj')) objs = objs.filter(taskdo_gte=req.GET.get('qssj'))
if req.GET.get('jssj'): if req.GET.get('jssj'):
objs = objs.filter(taskdo__lte=req.GET.get('jssj')) objs = objs.filter(taskdo__lte=req.GET.get('jssj'))
objs = objs.values('riskact__group__groupname', 'riskact__area__name', objs = objs.values('id', 'riskact__group__groupname', 'riskact__area__name',
'riskact__type__dickeyname', 'riskact__id', 'riskact__group__groupid', 'riskact__type__dickeyname', 'riskact__id', 'riskact__group__groupid',
'riskact__name', 'riskact__level', 'riskact__tasktype', 'taskadd', 'taskexpire', 'riskact__name', 'riskact__level', 'riskact__tasktype', 'taskadd', 'taskexpire',
'user__userid', 'usable', 'taskdo', 'user__name') 'user__userid', 'usable', 'taskdo', 'user__name', 'imgs')
total = objs.count() total = objs.count()
startnum, endnum = fenye(req) startnum, endnum = fenye(req)
objs = objs[startnum:endnum] objs = objs[startnum:endnum]
@ -8460,12 +8463,13 @@ def apiriskacttask(req):
total = objs.count() total = objs.count()
return JsonResponse({"code": 1, "todonum": total}) return JsonResponse({"code": 1, "todonum": total})
elif a == 'detail': elif a == 'detail':
res = RiskActTask.objects.filter(pk=req.GET.get('id')).values('id', 'tasknote', 'note', 'taskdo', 'taskdo2', 'imgs')[0] res = RiskActTask.objects.filter(pk=req.GET.get('id')).values('id', 'tasknote', 'note', 'taskadd', 'taskdo', 'taskdo2', 'imgs', 'riskact', 'istask',
'riskact__name', 'riskact__area__name', 'riskact__place', 'state', 'user__ubelongpart__partname', 'user__name')[0]
if res['imgs']: if res['imgs']:
res['imgs'] = res['imgs'].split('?') res['imgs'] = res['imgs'].split('?')
else: else:
res['imgs'] = [] res['imgs'] = []
return JsonResponse({'code':1, 'data':json.dumps(res, cls=MyEncoder)}) return HttpResponse(json.dumps({'code':1, 'data':res}, cls=MyEncoder), content_type="application/json")
# elif a == 'listmydone': # elif a == 'listmydone':
# groups = Group.objects.filter(users__userid=userid) # groups = Group.objects.filter(users__userid=userid)
# objs = Risktask.objects.filter(Q(group__in=groups)|Q(user__userid=userid),usable__in=[0,2]).values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__tasktype','taskadd','taskexpire','user__userid','usable').annotate(num = Count('risk__group')) # objs = Risktask.objects.filter(Q(group__in=groups)|Q(user__userid=userid),usable__in=[0,2]).values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__tasktype','taskadd','taskexpire','user__userid','usable').annotate(num = Count('risk__group'))