跳转方法
function print(contract_id){
var dw=unitid,rq=today;
if(isNull(select_unit).length>0){dw=select_unit};
if(isNull(select_date).length>0){rq=select_date};
window.open(basePath+'Security/Risk/showPrint?project_unitid='+dw+'&risk_date='+rq+'&project_name='+encodeURI(isNull(select_project_name))+'&type='+encodeURI(isNull(select_type))+'&job_content_day='+encodeURI(isNull(select_job_content_day))+'&risk_type='+encodeURI(isNull(select_risk_type))+'&risk_level='+encodeURI(isNull(select_risk_level))+'&contro_level='+encodeURI(isNull(select_contro_level))+'&flag=2');
}
后台
6、风险信息-浏览打印
@RequestMapping("/showPrint")
public String showPrint(Model model, HttpServletRequest request, HttpServletResponse response,RiskReportEntity entity){
List<RiskReportEntity> EntityList = riskService.Report_list(request, response, entity);
Map<String, Object> map = new HashMap<>();
map.put("rows", EntityList);
model.addAttribute("map",map );
return "Security/Risk/risk_print";
}
打印页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>井控风险信息打印</title>
<!--框架必需start-->
<script type="text/javascript" th:src="@{/js/jquery.js}"></script>
<script type="text/javascript" th:src="@{/js/language/cn.js}"></script>
<script type="text/javascript" th:src="@{/js/framework.js}"></script>
<link th:href="@{/css/import_basic.css}" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" type="text/css" id="skin" prePath="@{/}" splitMode="true" th:href="@{/skins/blue/style.css}" />
<link rel="stylesheet" type="text/css" id="customSkin" th:href="@{/system/layout/skin/style.css}"/>
<link rel="stylesheet" type="text/css" th:href="@{/skin/style.css}"/>
<!--框架必需end-->
<script type="text/javascript" th:src="@{/js/nav/basicTab.js}"></script>
<!-- 日期选择框start -->
<script type="text/javascript" th:src="@{/js/form/datePicker/WdatePicker.js}"></script>
<!-- 日期选择框end -->
<!--表单异步提交start-->
<script th:src="@{/js/form/form.js}" type="text/javascript"></script>
<!--表单异步提交end-->
<!--数据表格start-->
<script th:src="@{/js/table/quiGrid-change.js}" type="text/javascript"></script>
<!--数据表格end-->
<!--自动提示框start-->
<script type='text/javascript' th:src='@{/js/form/suggestion-change.js}'></script>
<!--自动提示框end-->
<!-- 引入弹窗组件start -->
<script type="text/javascript" charset="UTF-8" th:src="@{/js/popup/drag.js}"></script>
<script type="text/javascript" charset="UTF-8" th:src="@{/js/popup/dialog.js}"></script>
<!-- 引入弹窗组件end -->
</head>
<body th:object="${map}" >
<div>
<div id="notprint" name="notprint" align="center" nowrap >
<input type="button" value="打印" onclick="pagePreview()"/>
</div>
<div>
<div class="table_head">
井控风险信息
</div>
<table class="tableStyle" mode="list">
<tr style="background-color: #CCCCCC">
<td align="center" rowspan="2">序号</td>
<td align="center" rowspan="2">日期</td>
<td align="center" rowspan="2">类别</td>
<td align="center" rowspan="2">项目名称</td>
<td align="center" rowspan="2">项目单位</td>
<td align="center" rowspan="2">作业地点</td>
<td align="center" rowspan="2">工作内容</td>
<td align="center" rowspan="2">作业时间</td>
<td align="center" rowspan="2">风险类别</td>
<td align="center" rowspan="2">施工风<br>险等级</td>
<td align="center" rowspan="2">是否升<br>级管理</td>
<td align="center" rowspan="2">主要风险<br>管控措施</td>
<td align="center" colspan="2">作业负责人</td>
<td align="center" colspan="2">属地监督人</td>
<td align="center" rowspan="2">管控级别</td>
<td align="center" rowspan="2">管控单位<br>或部门名称</td>
<td align="center" rowspan="2">主管科室</td>
</tr>
<tr style="background-color: #CCCCCC">
<td align="center">姓名</td>
<td align="center">电话</td>
<td align="center">姓名</td>
<td align="center">电话</td>
</tr>
<div th:if="${map.rows.size()>0}">
<tr th:each="entity:${map.rows}" align="center">
<td > [[${entity.row_num}]]</td>
<td > [[${entity.risk_date}]]</td>
<td > [[${entity.type}]]</td>
<td > [[${entity.project_name}]]</td>
<td > [[${entity.project_unit}]]</td>
<td > [[${entity.work_localtion}]]</td>
<td > [[${entity.job_content_day}]]</td>
<td > [[${entity.work_time}]]</td>
<td > [[${entity.risk_type}]]</td>
<td > [[${entity.risk_level}]]</td>
<td > [[${entity.is_upgrade}]]</td>
<td > [[${entity.risk_contro_measures}]]</td>
<td > [[${entity.person_liable_name}]]</td>
<td > [[${entity.person_liable_phone}]]</td>
<td > [[${entity.supervisor_name}]]</td>
<td > [[${entity.supervisor_phone}]]</td>
<td > [[${entity.contro_level}]]</td>
<td > [[${entity.contro_unit}]]</td>
<td > [[${entity.department}]]</td>
</tr>
</div>
</table>
</div>
</div>
<script type="text/javascript">
var WebBrowser = document.getElementById("WebBrowser");
function pagePreview()
{
var display = document.getElementById("notprint").style.display;
document.getElementById("notprint").style.display="none";
// WebBrowser.ExecWB(1,1);//打开
// WebBrowser.ExecWB(2,1);//关闭所有
// WebBrowser.ExecWB(4,1) ;//另存为
// WebBrowser.ExecWB(6,1);//打印
// WebBrowser.ExecWB(6,6);//直接打印
// WebBrowser.ExecWB(8,1);//页面设置
// WebBrowser.ExecWB(10,1);//属性
// WebBrowser.ExecWB(17,1);//全选
// WebBrowser.ExecWB(22,1);//刷新
// WebBrowser.ExecWB(45,1);//关闭
// pagesetup_null();
// WebBrowser.ExecWB(6,1);//打印
// WebBrowser.ExecWB(7,1); //打印预览
var isIE=navigator.userAgent.toUpperCase().indexOf("MSIE")==-1?false:true;
var isFirefox=navigator.userAgent.toUpperCase().indexOf("FIREFOX")==-1?false:true;
var isChrome=navigator.userAgent.toUpperCase().indexOf("CHROME")==-1?false:true;
if(isIE==true){
pagesetup_null();
WebBrowser.ExecWB(7,1); //打印预览
// window.print();
}else if(isChrome==true){
window.print();
}else if(isFirefox==true){
alert("火狐浏览器存在打印缺陷 不建议使用");
window.print();
}else {
pagesetup_null();
WebBrowser.ExecWB(7,1); //打印预览
// window.print();
}
document.getElementById("notprint").style.display=display;
}
function checkIEV() {
var X, V, N;
V = navigator.appVersion;
N = navigator.appName;
if (N == "Microsoft Internet Explorer")
X = parseFloat(V.substring(V.indexOf("MSIE") + 5, V.lastIndexOf("Windows")));
else
X = parseFloat(V);
return X;
}
//设置为不打印
function noPrint() {
var stylef = document.styleSheets[0];
var rul = stylef.rules[0]; /*上面@media 那一段*/
rul.style.display = "none";
}
//设置网页打印的页眉页脚为空
function pagesetup_null() {
// alert("sss")
var hkey_root, hkey_path, hkey_key;
hkey_root = "HKEY_CURRENT_USER"
hkey_path = "\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
try {
var RegWsh = new ActiveXObject("WScript.Shell");
//打印页面的Menubar必须可见,此操作类似按键盘上的Alt+F+U也就是 调出页面设置对话框
// wsShell.sendKeys("%fu");
//此操作类似按键盘上的Alt+A也就是 设置横向打印
// wsShell.sendKeys("%a");
//此操作类似按键盘上的回车 页面设置对话框的默认焦点在 确定上 所以直接确定
// wsShell.sendKeys("{ENTER}");
//设置页眉(为空)
// Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key)//可获得原页面设置
hkey_key = "header";
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
//设置页脚(为空)
hkey_key = "footer";
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
//alert(checkIEV());
//这里需要浏览器版本,8.0以下的页边距设置与8.0及以上不一样,注意注册表里的单位是英寸,打印设置中是毫米,1英寸=25.4毫米
if (checkIEV() < 8.0) {
//设置左页边距
hkey_key = "margin_left";
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.025");
//设置右页边距
hkey_key = "margin_right";
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.05");
//设置上页边距
hkey_key = "margin_top";
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.3");
//设置下页边距
hkey_key = "margin_bottom";
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.001");
}
else {
//设置右页边距
hkey_key = "margin_right";
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "1.1");
//设置左页边距
hkey_key = "margin_left";
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "1.1");
//设置上页边距
hkey_key = "margin_top";
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "1.2");
//设置下页边距
hkey_key = "margin_bottom";
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "1.001");
}
}
catch (e) {
alert("页面设置失败,请手动设置!");
}
}
</script>
</body>
</html>