1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
| /**
* 提交导出form
*/
jsUtil.submitExportForm = function(form) {
form.submit();
form.remove();
}
/**
* 导出方法,input为其他查询条件
*/
jsUtil.doExport = function(url, dg, inputs) {
$.messager.defaults = { ok:"当前页数据", cancel:"所有页数据" };
//导出当前页的数据?导出符合条件的所有数据?
$.messager.confirm('导出', '选择导出查询结果里的:', function(isCurrent){
var form = jsUtil.getDefaultExportForm(url, dg, isCurrent);
if (inputs != null) {
// 其他查询条件
for (var i = 0; i < inputs.length; i++) {
form.append(inputs[i]);
}
}
jsUtil.submitExportForm(form);
});
$.messager.defaults = { ok:"确定", cancel:"取消" };
}
/**
* 导出方法,无其他附加条件,按后台逻辑导出数据
*/
jsUtil.doDefaultExport = function(url, dg) {
var form = jsUtil.getDefaultExportForm(url, dg);
jsUtil.submitExportForm(form);
}
/**
* 构造导出form,默认提交分页信息,列表字段和字段显示名信息
*/
jsUtil.getDefaultExportForm = function(url, dg, isCurrent) {
var form = $("<form>");
form.attr('style', 'display:none');
form.attr('target', '');
form.attr('method', 'post');
form.attr('action', url);
$('body').append(form);
var defaultInputs = jsUtil.getDefaultInputs(url, dg, isCurrent);
for (var i = 0; i < defaultInputs.length; i++) {
form.append(defaultInputs[i]);
}
return form;
}
/**
* 导出form的默认提交参数,包括分页信息,列表字段和字段显示名信息
*/
jsUtil.getDefaultInputs = function(url, dg, isCurrent) {
var inputs = [];
var page = $('<input>');
page.attr('type', 'hidden');
page.attr('name', 'page');
var rows = $('<input>');
rows.attr('type', 'hidden');
rows.attr('name', 'rows');
//导出当前页的数据?导出符合条件的所有数据?
if (isCurrent) {
page.attr('value', dg.datagrid('options').pageNumber);
rows.attr('value', dg.datagrid("options").pageSize);
} else {
page.attr('value', 1);
rows.attr('value', 2147483647);
}
var sort = $('<input>');
sort.attr('type', 'hidden');
sort.attr('name', 'sort');
sort.attr('value', dg.datagrid('options').sortName);
var order = $('<input>');
order.attr('type', 'hidden');
order.attr('name', 'order');
order.attr('value', dg.datagrid('options').sortOrder);
var fields = $('<input>');
fields.attr('type', 'hidden');
fields.attr('name', 'fields');
fields.attr('value', jsUtil.getFields(dg));
var titles = $('<input>');
titles.attr('type', 'hidden');
titles.attr('name', 'titles');
titles.attr('value', jsUtil.getTitles(dg));
inputs.push(page);
inputs.push(rows);
inputs.push(sort);
inputs.push(order);
inputs.push(fields);
inputs.push(titles);
return inputs;
};
/**
* 导出form的列表字段
*/
jsUtil.getFields = function(dg) {
var columns = dg.datagrid("options").columns[0];
var json = '';
if (columns) {
for (var i = 0; i < columns.length; i++) {
var field = columns[i].field;
var title = columns[i].title;
var hidden = columns[i].hidden;
if (!hidden) {
json += field + ','
}
}
if (json != '') {
json = json.substring(0, json.length - 1);
}
}
return json;
};
/**
* 导出form的列表字段显示名称
*/
jsUtil.getTitles = function(dg) {
var columns = dg.datagrid("options").columns[0];
var json = '';
if (columns) {
for (var i = 0; i < columns.length; i++) {
var field = columns[i].field;
var title = columns[i].title;
var hidden = columns[i].hidden;
if (!hidden) {
json += title + ','
}
}
if (json != '') {
json = json.substring(0, json.length - 1);
}
}
return json;
};
|