<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
<%
|
String path = request.getContextPath();
|
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
|
+ path + "/";
|
%>
|
|
<!DOCTYPE HTML>
|
<html>
|
<head>
|
<base href="<%=basePath%>">
|
<meta name="viewport" charset="width=device-width, initial-scale=1.0">
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
<title>数据导出</title>
|
<!--[if !IE]><!-->
|
<link href="static/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css">
|
<!--<![endif]-->
|
<!--[if gt IE 8]>
|
<link href="static/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css">
|
<![endif]-->
|
<link href="static/plugins/jquery-easyui/themes/bootstrap/easyui.css" rel="stylesheet" type="text/css">
|
<link rel="stylesheet" href="static/styles/initialize.css" type="text/css">
|
<link rel="stylesheet" href="static/styles/common.css" type="text/css">
|
<link rel="stylesheet" href="static/plugins/layer/skin/default/layer.css" type="text/css">
|
|
<script type="text/javascript" src="static/plugins/jquery/jquery.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui/jquery.easyui.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui/locale/easyui-lang-zh_CN.js"></script>
|
<script type="text/javascript" src="static/scripts/easyuiExtend.js"></script>
|
<script type="text/javascript" src="static/scripts/jquery-extend.js"></script>
|
<script type="text/javascript" src="static/plugins/layer/layer.js"></script>
|
<script type="text/javascript" src="static/plugins/slimScroll/jquery.slimscroll.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui-datagrid-dnd/datagrid-dnd.js"></script>
|
<script src="static/plugins/ace/src-noconflict/ace.js" type="text/javascript"></script>
|
<script src="static/plugins/jquery.redirect.js" type="text/javascript"></script>
|
|
<!-- 弹窗加载组件 -->
|
<script type="text/javascript" src="static/plugins/layer/layer.js"></script>
|
<script type="text/javascript" src="static/plugins/spinjs/spin.js"></script>
|
<script type="text/javascript" src="static/plugins/spinjs/jquery.spin.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery.blockUI.js"></script>
|
<!-- wcp组件 -->
|
<script type="text/javascript" src="static/wcp/scripts/wcp.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.layer.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.blockUI.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.spin.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.jquery.js"></script>
|
|
<!--[if lt IE 9]>
|
<script type="text/javascript" src="static/plugins/json2.js"></script>
|
<![endif]-->
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.infoPicker.js"></script>
|
<style>
|
.combobox-group {
|
clear: both;
|
}
|
|
.combobox-gitem {
|
float: left;
|
padding-right: 10px;
|
}
|
</style>
|
|
</head>
|
<body>
|
|
<div class="margin-lr">
|
<div class="pt-main-top clear">
|
<div class="pt-nav">
|
<span class="pt-title-icon">
|
<i class="fa fa-download"></i>
|
</span>
|
<div class="pt-title">
|
<div>
|
<h4>数据导出信息</h4>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="pt-form">
|
<div class="ptbody">
|
<form id="formExport">
|
<table style="width: 100%;">
|
<tr>
|
<td class="tbtitle">导出数据类别:</td>
|
<td>
|
<div>
|
<input class="easyui-radiobutton" name="exportType" value="0"
|
data-options="onChange:exportTypeOnChange" label="所有数据">
|
<input class="easyui-radiobutton" name="exportType" value="1"
|
data-options="onChange:exportTypeOnChange" label="选择的数据">
|
<input class="easyui-radiobutton" name="exportType" value="2"
|
data-options="onChange:exportTypeOnChange" label="当前页数据">
|
|
</div>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">导出字段选择:</td>
|
<td>
|
<div>
|
<input class="easyui-radiobutton" name="columnType" value="0"
|
data-options="onChange:columnTypeOnChange" label="当前视图字段">
|
<input class="easyui-radiobutton" name="columnType" value="1"
|
data-options="onChange:columnTypeOnChange" label="所有字段">
|
<input class="easyui-radiobutton" name="columnType" value="2"
|
data-options="onChange:columnTypeOnChange" label="选择字段">
|
<font id="selectedColumnHtml"></font>
|
</div>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">导出文件类型:</td>
|
<td>
|
<div>
|
<input class="easyui-radiobutton" name="fileType" value="0"
|
data-options="onChange:fileTypeOnChange" label="excel">
|
<input class="easyui-radiobutton" name="fileType" value="1"
|
data-options="onChange:fileTypeOnChange" label="xml">
|
</div>
|
</td>
|
</tr>
|
<c:if test="${viewSubtabList.size()>0}">
|
<tr>
|
<td class="tbtitle">导出页签数据:</td>
|
<td>
|
<div>
|
<c:forEach items="${viewSubtabList}" var="subtab">
|
<c:if test="${subtab.subtabType==0}">
|
<input class="easyui-checkbox" name="subtabData" value="${subtab.subtabId}"
|
label="${subtab.subtabName}">
|
</c:if>
|
</c:forEach>
|
</div>
|
</td>
|
</tr>
|
</c:if>
|
</table>
|
</form>
|
</div>
|
<div class="pt-form-btn" style="bottom:0px;">
|
<div class="form-group">
|
<button id="btnSave" class="pt-btn pt-btn-primary">导出</button>
|
<button id="btnClose" class="pt-btn pt-btn-default">关闭</button>
|
</div>
|
</div>
|
</div>
|
</div>
|
</body>
|
<script>
|
//窗口参数,用于弹窗传递
|
var params = {
|
ids: null,
|
queryParams: null
|
};
|
|
var value;
|
var columnType;
|
var fileType;
|
$(function () {
|
|
//初始化表单值(单选按钮)
|
$("input[radiobuttonName='exportType'][value='${exportType}']").radiobutton('check');
|
$("input[radiobuttonName='columnType'][value='0']").radiobutton('check');
|
$("input[radiobuttonName='fileType'][value='0']").radiobutton('check');
|
|
$("#btnSave").click(function () {
|
exportTypeValue(value);
|
});
|
|
|
$("#btnClose").click(function () {
|
closeWindow();
|
});
|
|
|
});
|
|
//获取导出数据类别
|
function exportTypeOnChange(checked) {
|
if (checked) {
|
value = $(this).val();
|
}
|
}
|
|
//获取导出字段选择类型
|
function columnTypeOnChange(checked) {
|
if (checked) {
|
columnType = $(this).val();
|
if ($(this).val() == "2") {
|
selectTableColumn();
|
}
|
}
|
}
|
|
var hasSelectNames = "";
|
var hasSelectIds = "";
|
|
function selectTableColumn() {
|
wcp.picker.selectTableColumn({
|
title: "请选择字段",
|
tableName: "${tableName}",
|
multiSelect: true,
|
hasSelectIds: hasSelectIds,
|
hasSelectNames: hasSelectNames,
|
layerOpener: window
|
}, function (rows) {
|
hasSelectNames = "";
|
hasSelectIds = "";
|
hasSelectTitles = "";
|
$.each(rows, function (index, value) {
|
hasSelectNames += value.columnName + ",";
|
hasSelectIds += value.columnId + ",";
|
});
|
$("#selectedColumnHtml").html("<b><a style='color: #ff0000' href='javascript:void(0)' onclick='selectTableColumn()'>已选" + rows.length + "个字段</a></b>");
|
if (hasSelectNames.indexOf(',') > 0) {
|
hasSelectNames = hasSelectNames.substr(0, hasSelectNames.length - 1);
|
hasSelectIds = hasSelectIds.substr(0, hasSelectIds.length - 1);
|
}
|
});
|
}
|
|
//获取导出字段选择类型
|
function fileTypeOnChange(checked) {
|
if (checked) {
|
fileType = $(this).val();
|
}
|
}
|
|
//导出
|
function exportTypeValue(val) {
|
var pageSize = "${pageSize}";
|
var pageNum = "${pageNum}";
|
var idList = params.ids;
|
var postData = {};
|
|
if (val == "1") {
|
if (idList == null || idList.length == 0) {
|
layer.alert("请选择要导出的数据!");
|
return false;
|
}
|
|
postData.ids = idList.join(",");
|
} else {
|
postData = $.extend(postData, params.queryParams);
|
}
|
|
if (val == "2") {
|
postData.page = pageNum;
|
postData.rows = pageSize;
|
} else {
|
postData.page = 0;
|
postData.rows = 0;
|
}
|
if (columnType == "2" && hasSelectIds == "") {
|
wcp.notify.error('请确保至少选择一个字段!');
|
return;
|
}
|
|
//如果有需要导出的页签数据,读取要导出的页签ID
|
var form = $("#formExport").serializeObject();
|
var subtabData = form.subtabData;
|
if (typeof subtabData != "undefined") {
|
if (subtabData instanceof Array) {
|
subtabData = subtabData.join();
|
}
|
|
postData.exportSubtabIds = subtabData;
|
}
|
|
var url = "general/exportExcel?viewId=${viewId}&subtabId=${subtabId}&relationTableId=${relationTableId}&relationKeyId=${relationKeyId}&columnType=" + columnType + "&fileType=" + fileType + "&selectedColumnIds=" + hasSelectIds;
|
|
$.redirect(url, postData, "POST", "_blank");
|
}
|
|
function closeWindow() {
|
var index = top.layer.getFrameIndex(window.name); //获取窗口索引
|
top.layer.close(index);
|
}
|
</script>
|
|
</html>
|