easyui DataGrid 工具类之 util js
var jq;
var tab;
var tabsIndex;
/**
* 常用说明
* @param row
* @returns {String}
*/
function formatItem(row) {
var s = '<span class="text-span">' + row.text + '</span>';
if (row.type == "private") {
s += '<span class="remove-span"><a href="javascript:;" onclick="deleteOpinion(' + row.id + ');" class="remove">X</a></span>';
}
return s;
}
/**
* 删除常用说明
* @param id
*/
function deleteOpinion(id) {
if (id != "") {
$.post('opinion/delete.action', {
id: id
},
function(result) {
if (result.success) {
$('#comments').combobox('clear').combobox('reload');
$.messager.show({
title: '成功',
msg: "操作成功!"
});
} else {
$.messager.show({
title: '错误',
msg: result.title
});
}
},
'json');
}
}
/**
* 增加常用说明
*/
function saveOpinion() {
var text = $("#suggestion").val();
if (text != "") {
$.post('opinion/save.action', {
text: text,
type: "private"
},
function(result) {
if (result.success) {
$('#comments').combobox('reload');
$.messager.show({
title: '成功',
msg: "操作成功!"
});
} else {
$.messager.show({
title: '错误',
msg: result.title
});
}
},
'json');
}
}
function exportExcels(id) {
var params = $('#' + id).datagrid('options').queryParams;
var url = $('#' + id).datagrid('options').url;
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.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();
}
/**
* @author
* 过滤table导出
* @param id table Id
*/
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();
}
function exportExcelToCollect(id,url,taId){
var taToJson=tableToJson(taId);
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 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',"["+ taToJson+","+JSON.stringify(jsonArray)+"]");
// 附加到Form
form.append(input);
form.appendTo("body");
form.css('display', 'none');
// 提交表单
form.submit();
form.remove();
}
//导出数据
/*
* id datagrid id
* url Action 路径
*/
function exportExcelTreeGrids(id) {
var params = $('#' + id).treegrid('options').queryParams;
var url = $('#' + id).treegrid('options').url;
var sortName = $('#' + id).treegrid('options').sortName;
var sortOrder = $('#' + id).treegrid('options').sortOrder;
params["order"] = sortOrder;
params["sort"] = sortName;
params["operate"] = "export";
var columnJsonf = $('#' + id).treegrid("options").frozenColumns;
var columnJson = $('#' + id).treegrid("options").columns;
var form = $('<form></form>');
// 设置属性
form.attr('action', url);
form.attr('method', 'post');
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();
}
/**
* @author
* 过滤table导出
* @param id table Id
*/
function exportExcelTreeGridFilter(id) {
var filterRules = $('#' + id).treegrid('options').filterRules;
var params = $('#' + id).treegrid('options').queryParams;
var url = $('#' + id).treegrid('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).treegrid('options').sortName;
var sortOrder = $('#' + id).treegrid('options').sortOrder;
params["order"] = sortOrder;
params["sort"] = sortName;
params["operate"] = "export";
var columnJsonf = $('#' + id).treegrid("options").frozenColumns;
var columnJson = $('#' + id).treegrid("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();
}
//数字千分位高速转换
function edienum(value, row, index){
var num = value;
num = (num || 0).toString(), result = '';
while (num.length > 3) {
result = ',' + num.slice(-3) + result;
num = num.slice(0, num.length - 3);
}
if (num) { result = num + result; }
return result;
}
/**
* 获得相差天数
* @author
* @param strDateStart
* @param strDateEnd
* @returns
*/
function getDays(strDateStart,strDateEnd){
var strSeparator = "-"; //日期分隔符
var oDate1;
var oDate2;
var iDays;
oDate1= strDateStart.split(strSeparator);
oDate2= strDateEnd.split(strSeparator);
var strDateS = new Date(oDate1[0], oDate1[1]-1, oDate1[2]);
var strDateE = new Date(oDate2[0], oDate2[1]-1, oDate2[2]);
iDays = parseInt((strDateS - strDateE ) / 1000 / 60 / 60 /24);//把相差的毫秒数转换为天数
return iDays ;
}
/*
* 跳转tabls
*/
$(function(){
jq = top.jQuery;
tab = jq("#mainTabs").tabs('getSelected');
tabsIndex = jq("#mainTabs").tabs('getTabIndex',tab);
});
function tabsSelectAndClose(s,c){
jq("#mainTabs").tabs('select',parseInt(s));
jq("#mainTabs").tabs('close',parseInt(c));
}
function back(){
tabsSelectAndClose($("#tabsIndex").val(),tabsIndex);
}
function backUpdate(){
tabsSelectAndCloseToUpdate($("#tabsIndex").val(),tabsIndex);
}
function tabsSelectAndCloseToUpdate(s,c){
jq("#mainTabs").tabs('select',parseInt(s));
var tabb = jq("#mainTabs").tabs('getTab',parseInt(s));
jq("#mainTabs").tabs('update', {
tab: tabb,
options: {
content:$("iframe",tabb) // 新内容的URL
}
});
jq("#mainTabs").tabs('close',parseInt(c));
}
/*
* 跳转tabls
*/
function JumpPage(type,title,src){
var jq = top.jQuery;
var content = "<iframe id='mainFrame' frameborder='no' width='100%' height='100%' src='"+src+"'></iframe>";
if(type==0){
if (jq("#mainTabs").tabs('exists', title)){
jq("#mainTabs").tabs('select', title);
} else {
jq("#mainTabs").tabs('add',{
title:title,
content:content,
bodyCls: 'cos-overflow-hidden',
closable:true
});
}
}else{
jq("#mainTabs").tabs('close',title);
jq("#mainTabs").tabs('add',{
title:title,
content:content,
bodyCls: 'cos-overflow-hidden',
closable:true
});
}
}
function linkStyle(value,row,index) {
if(value!="合计"){
return "<span class='a'>" + value + "</span>";
}else{
return value;
}
}
function nonzeroWarning(value,row,index){
if (value > 0){
return "<span class='warning'>" + value + "</span>";
} else {
return value;
}
}
function nonzeroWarningFixed(value,row,index){
if (value > 0){
return "<span class='warning'>" + value.toFixed(2) + "</span>";
} else {
value=0;
return value.toFixed(2);
}
}
/**
* table封装json
* @param id
* @returns {String}
*/
function tableToJson(id){
var styleArray=["height","rowspan","width","align","colspan"];
var tab=document.getElementById(id);
var rows=tab.rows;
var txt = "[";
for(var i=0;i<rows.length;i++)
{
var r = "[";
for(var j=0;j<rows[i].cells.length;j++)
{
var c="{";
for (var k = 0; k < styleArray.length; k++) {
c+="\""+styleArray[k]+"\":\""+$(rows[i].cells[j]).attr(styleArray[k])+"\",";
}
c+="\"title\":"+"\"" + rows[i].cells[j].innerHTML+"\"";
c+="},";
r += c;
}
r = r.substring(0, r.length - 1);
r += "],";
txt += r;
}
txt = txt.substring(0, txt.length - 1);
txt += "]";
return txt;
}
function getFormatterDate(value){
var time = new Date();
if(value){
if((value+"").indexOf("-")>0){
value=/\d{4}-\d{1,2}-\d{1,2}/g.exec(value);
return value;
}
time = new Date(value);
}
var year=time.getFullYear();
var month = time.getMonth() + 1;
var day = time.getDate();
if(month<10){
month="0"+month;
}
if(day<10){
day="0"+day;
}
return year+"-"+month+"-"+day;
}
/**
* 格式化日期
* @param value
* @param row
* @param index
* @returns
*/
function valueFormatterDate(value,row,index){
var time = new Date();
if(value){
if((value+"").indexOf("-")>0){
value=/\d{4}-\d{1,2}-\d{1,2}/g.exec(value);
return value;
}
time = new Date(value);
}
var year=time.getFullYear();
var month = time.getMonth() + 1;
var day = time.getDate();
if(month<10){
month="0"+month;
}
if(day<10){
day="0"+day;
}
return year+"-"+month+"-"+day;
}
//将日期输入框变为年月的函数方法
function setYearMonth(id){
var month=0;
$('#'+id).datebox({
onShowPanel: function () {//显示日趋选择对象后再触发弹出月份层的事件,初始化时没有生成月份层
span.trigger('click'); //触发click事件弹出月份层
if (!tds) setTimeout(function () {//延时触发获取月份对象,因为上面的事件触发和对象生成有时间间隔
tds = p.find('div.calendar-menu-month-inner td');
tds.click(function (e) {
e.stopPropagation(); //禁止冒泡执行easyui给月份绑定的事件
var year = /\d{4}/.exec(span.html())[0]//得到年份
, month = parseInt($(this).attr('abbr'), 10); //月份
$('#'+id).datebox('hidePanel')//隐藏日期对象
.datebox('setValue', year + '-' + (month < 10 ? '0' : '') + month); //设置日期的值
});
}, 0);
},
parser: function (s) {//配置parser,返回选择的日期
if (!s) return new Date();
var arr = s.split('-');
month=parseInt(arr[1], 10);
//monthStr=month==13?month-1:month;
var newDate=new Date(parseInt(arr[0], 10)+"/"+(month < 10 ? '0' : '')+month+"/01");
return newDate;
},
formatter: function (d) {
var f=d.getFullYear() + '-' + (d.getMonth() < 10 ? '0' : '') + (d.getMonth() + 1);
return f;
}//配置formatter,只返回年月
});
var p = $('#'+id).datebox('panel'), //日期选择对象
tds = false, //日期选择对象中月份
span = p.find('span.calendar-text'); //显示月份层的触发控件
}
var MaskUtil = (function(){
var $mask,$maskMsg;
var defMsg = '正在处理,请稍待。。。';
function init(){
if(!$mask){
$mask = $("<div class=\"datagrid-mask mymask\"></div>").appendTo("body");
}
if(!$maskMsg){
$maskMsg = $("<div class=\"datagrid-mask-msg mymask\">"+defMsg+"</div>")
.appendTo("body").css({'font-size':'12px'});
}
$mask.css({width:"100%",height:$(document).height()});
var scrollTop = $(document.body).scrollTop();
$maskMsg.css({
left:( $(document.body).outerWidth(true) - 190 ) / 2
,top:( ($(window).height() - 45) / 2 ) + scrollTop
});
}
return {
mask:function(msg){
init();
$mask.show();
$maskMsg.html(msg||defMsg).show();
}
,unmask:function(){
$mask.hide();
$maskMsg.hide();
}
}
}());
function valueToFixed(value,row,index){
if(value==null||value==""){
value=0;
}
return toDecimal2(value);
}
/**
* 精确小数俩位
* @param value
* @param row
* @param index
* @returns
*/
function toDecimal2(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return false;
}
var f = Math.round(x*100)/100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
}
/**
* 折叠标题
*/
(function($){
var buttonDir = {north:'down',south:'up',east:'left',west:'right'};
$.extend($.fn.layout.paneldefaults,{
onBeforeCollapse:function(){
var popts = $(this).panel('options');
var dir = popts.region;
var btnDir = buttonDir[dir];
if(!btnDir) return false;
setTimeout(function(){
var pDiv = $('.layout-button-'+btnDir).closest('.layout-expand').css({
textAlign:'center',lineHeight:'18px',fontWeight:'bold'
});
if(popts.title){
var vtitle = popts.title;
if(dir == "east" || dir == "west"){
var vTitle = popts.title.split('').join('<br/>');
pDiv.find('.panel-body').html(vTitle);
}else{
$('.layout-button-'+btnDir).closest('.layout-expand').find('.panel-title')
.css({textAlign:'left'})
.html(vTitle)
}
}
},100);
}
});
})(jQuery);
easyui DataGrid 工具类之 util js的更多相关文章
- vue项目工具文件utils.js javascript常用工具类,javascript常用工具类,util.js
vue项目工具文件utils.js :https://blog.csdn.net/Ajaxguan/article/details/79924249 javascript常用工具类,util.js : ...
- easyui DataGrid 工具类之 WorkbookUtil class
/** * @Title: WorkbookUtil.java * @Description: excel工具类 * @date 2014年5月29日 上午10:36:42 * @version V1 ...
- easyui DataGrid 工具类之 TableUtil class
import java.lang.reflect.InvocationTargetException;import java.util.ArrayList;import java.util.HashM ...
- 百度地图V2.0实践项目开发工具类bmap.util.js V1.4
/** * 百度地图使用工具类-v2.0(大眾版) * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @em ...
- easyui DataGrid 工具类之 Utils class
import java.lang.reflect.InvocationTargetException;import java.text.ParseException;import java.text. ...
- easyui DataGrid 工具类之 后台生成列
@SuppressWarnings({ "rawtypes", "unchecked" }) public Map<String, Object&g ...
- easyui DataGrid 工具类之 列属性class
public class ColumnVO { /** * 列标题文本 */ private String title; /** * 列字段名称 */ pr ...
- JavaSE-基础语法(二)-系统类(java.lang.*)和工具类(java.util.*)
系统类(java.lang.*)和工具类(java.util.*) 一.系统类(java.lang.*) 这个包下包含java语言的核心类,如String.Math.System和Thread类等,使 ...
- 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.0
/** * 百度地图使用工具类-v1.5 * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email b ...
随机推荐
- RFID电子标签天线的印刷
RFID 电子标签技术又称RFID(Radio FrequencyIdentification)射频识别技术,是一种非接触式的自动识别技术,通过相距几厘米到几米距离内传感器发射的无线电波,可以读取RF ...
- nginx配置之取消index.php同时不影响js,css功能
server { listen 8084; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; ...
- [原创]Hadoop默认设置导致NameNode启动失败一例
看到市面上很多书在讲解Hadoop的时候都轻描淡写的提到了HDFS的设置问题.大多采取的是默认设置,最多也就是设置一些副本数量之类. 笔者在工作中遇到了这样一种情况:每次重启系统之后,NameNode ...
- LeetCode Find All Numbers Disappeared in an Array
原题链接在这里:https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/ 题目: Given an array o ...
- Java语言程序设计(基础篇)第一章
第一章 计算机.程序和Java概述 1.1 引言 什么是程序设计呢? 程序设计就是创建(或者开发)软件,软件也称为程序. 1.2 什么是计算机 计算机是存储和处理数据的电子设备,计算机包括硬件(har ...
- ARC 与非 ARC 之间那些的'祸害'
你是否也曾被 assign.retain.copy.release.autorelease.strong.__strong.weak.__weak.__unsafe__unretain.__autor ...
- Repeater控件用法
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Repeater.aspx. ...
- Sublime Text3 以及 SublimeREPL使用Virtualenv执行python
1. SublimeText3 安装Virtualenv插件(Crtl+Shift+P) 2. 新建python虚拟环境: Crtl+Shift+P,选中Virtualenv:New选项,在底部Vir ...
- 解决从jenkins打开robot framework报告会提示‘Opening Robot Framework log failed ’的问题
最新的jenkins打开jenkins robot framework报告会提示如下 Verify that you have JavaScript enabled in your browser. ...
- 前端forEach在Array、map、set中的使用
数组: var s = ['a','b','c']; s.forEach(function(ele,index,array){ console.log(ele); }); Map: var map = ...