//过滤栏表格导出数据
/* xukf
* id datagrid id
* url Action 路径
*/
function exportExcelToFilter(id){
var filterRules = $('#'+id).datagrid('options').filterRules;
var params = $('#'+id).datagrid('options').queryParams;
var url = $('#'+id).datagrid('options').url;
for (var i = 0; i < filterRules.length; i++) {
var obj = filterRules[i];
if (obj.field == 'applicationDate') {
if (obj.op == 'greater') {
params.rdGt = obj.value;
} else if (obj.op == 'less') {
params.rdLt = obj.value;
} else if (obj.op == 'equal') {
params.rdGt = obj.value;
params.rdLt = obj.value;
}
}else{
params[obj.field] = obj.value;
}
}
var sortName = $('#'+id).datagrid('options').sortName;
var sortOrder = $('#'+id).datagrid('options').sortOrder;
params["order"]=sortOrder;
params["sort"]=sortName;
params["operate"]="export";
var columnJsonf = $('#'+id).datagrid("options").frozenColumns;
var columnJson = $('#'+id).datagrid("options").columns;
var form = $('<form></form>');
// 设置属性
form.attr('action', url);
form.attr('method', 'post');
// form的target属性决定form在哪个页面提交
// _self -> 当前页面 _blank -> 新页面
form.attr('target', '_self');
// 创建Input
var input = $('<input type="hidden" name="columnJson" />');
var inputRow = $('<input type="hidden" name="rows" value="10" />');
var inputPage = $('<input type="hidden" name="page" value="1" />');
form.append(inputRow);
form.append(inputPage);
var jsonArray=new Array();
var arrayOn=new Array();
for (var i=0;i<columnJsonf.length;i++)
{
for (var j=0;j<columnJsonf[i].length;j++)
{
var col=columnJsonf[i][j];
col.rowspan=columnJson.length;
arrayOn.push(col);
}
}
for (var i=0;i<columnJson.length;i++)
{
if(i==0){
for (var j=0;j<columnJson[i].length;j++)
{
var colj=columnJson[i][j];
arrayOn.push(colj);
}
jsonArray.push(arrayOn);
}else{
jsonArray.push(columnJson[i]);
}
}
// alert(JSON.stringify(jsonArray));
input.attr('value', JSON.stringify(jsonArray));
// 附加到Form
form.append(input);
form.appendTo("body");
form.css('display', 'none');
// 提交表单
form.form('submit', {
url:url,
onSubmit: function(param){
$.each(params, function(name, value) {
param[name]=value;
});
}
});
form.remove();
}