//配置区kendo.culture(
"zh-CN"
);//中文显示
const
defaultGridOptions = {
sortable: true, groupable: false, selectable: true, editable: false, resizable: true, reorderable: true, pageable: { refresh: true, pageSize: 20, pageSizes: [20, 50, 100, 200]
}
};
var
nBar = $(
".nav-bar"
);
var
outerHeight = 0;
$(
".nav-bar"
).each(
function
(i, v) {
outerHeight += $(v).outerHeight();
});
return
window.innerHeight - outerHeight - 1;
}
function
resizeGrid(containerHeight) {
containerHeight = (containerHeight == undefined ? getContainerH() : containerHeight);
$('.k-grid.dynamicHeight,.dynamic-height.k-grid').each(
function
() {
var
grid = $(this),
h1 = grid.find('div.k-grid-toolbar').outerHeight() || 0,
h2 = grid.find('div.k-grouping-header').outerHeight() || 0,
h3 = grid.find('div.k-grid-header').outerHeight() || 0,
h4 = grid.find('div.k-grid-pager').outerHeight() || 0,
ch = containerHeight - 2 - h1 - h2 - h3 - h4;
if
(ch > 0) {
grid.find('div.k-grid-content').css('maxHeight', ch + 'px');
grid.find('div.k-grid-content-locked').css('maxHeight', ch + 'px');
}
});
}
function
getDataSourceConfig(idField, readUrl, filter) {
return
{ schema: { model: { id: idField
}, data:
function
(response) {
return
response.data || response;
}, total: 'total'
}, transport: { parameterMap:
function
(options) {
return
kendo.stringify(options);
}, read: getTransport(readUrl)
}, pageSize: 20, serverPaging: true, serverFiltering: true, serverSorting: true, filter: filter, selectable:
"row"
};
}
function
getDataSource(idField, readUrl, filter) {
return
new
kendo.data.DataSource(getDataSourceConfig(idField, readUrl, filter));
}
function
getTransport(url, type, dataType, contentType) {
return
{ contentType: contentType || 'application/json', dataType: dataType || 'json', type: type || 'POST', async: false, url: url
};
}
function
toGridFilter(o) {
var
filter = { logic: o.logic ||
"and"
, filters: []
};
for
(
var
i in o) {
var
m = o[i];
if
(i ===
"logic"
) {
continue
;
}
if
($.trim(m) && (typeof m ===
"string"
|| typeof m ===
"number"
)) {
filter.filters.push({ field: i, value: $.trim(m), operator:
"eq"
});
}
else
if
(typeof m ===
"object"
&& $.trim(m.value)) {
if
(m.operator ===
"in"
) {
var
value = m.value.split(
"/"
);
filter.filters.push({ field: i, value: value, operator: m.operator ||
"in"
});
}
else
{
filter.filters.push({ field: i, value: $.trim(m.value), operator: m.operator ||
"eq"
});
}
}
else
if
(typeof m ===
"object"
&& m.type ===
"range"
) {
if
(m.start) filter.filters.push({ field: i, value: m.start, operator:
"gte"
});
if
(m.
end
) {
filter.filters.push({ field: i, value: m.
end
, operator:
"lte"
});
}
}
}
return
filter;
}