JeeSite 4.x

Spring Boot 最好的快速开发平台

常用 JS 类库 API、js.*、jeesite.js、页签

全局常用

/**
 * 输出日志
 */
log(msg);

/**
 * 输出错误日志
 */
error(msg);

/**
 * URL 编码
 */
js.encodeUrl(url);

/**
 * URL 解码
 */
js.decodeUrl(url);

/**
 * 得到 IE 版本,如果是IE返回:IE版本号,否则返回:false
 * if (js.ie && js.ie <= 8){ alert('浏览器版本过低') }
 */
js.ie;

/**
 * 安全取值,复杂类型或嵌套类型时,取不到属性中的属性时不抛出异常
 * js.val(jsonObj, 'user.office.name');
 */
js.val(jsonObj, attrName);

/**
 * 返回HashCode唯一值(默认忽略大小写)
 * @param str 要获取的字符串HashCode值
 * @param caseSensitive 是否大小写敏感(默认false)
 * @usage js.hashCode(str);
 */
js.hashCode(str, caseSensitive);

/**
 * 异步加载文件,loadFile v1.0
 * js.loadFile(file文件路径, callback成功回调, error失败回调)
 * js.loadFile('js/test.js',function(){},function(data){});
 * js.loadFile(['js/test.js','css/test.css'],function(){},function(data){});
 */
js.loadFile(file, callback, error);

/**
 * 打开一个Window窗体
 */
js.windowOpen(url, name, width, height);

/**
 * 关闭当前Window窗体
 */
js.windowClose();

/**
 * 给URL地址添加参数,如果原来有参数则用&前缀,如果没有则用?前缀
 */
js.addParam(url, params);

/**
 * 获取URL地址的参数
 */
js.getParam(paramName, url);

/**
 * 移除URL地址里的某个参数
 */
js.removeParam(paramName, url);

/**
 * 查看Object的内容,手机调试用
 * @param obj
 */
js.alertObj(obj);

国际化、字典


/**
 * 获取国际化译文
 */
js.text(code, params);

/**
 * 获取字典标签
 * js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '未知', true)
 */
js.getDictLabel(dictListJson, value, defaultValue, inCss);

加载框、弹窗


/**
 * 显示加载框
 * @param message 加载框提示信息
 * @param ignoreMessageIfExists 如果已经有加载框现在,则忽略message信息的设置
 * @usage js.loading('正在保存...');
 */
js.loading(message, ignoreMessageIfExists);

/**
 * 关闭加载框
 * @param timeout 关闭延迟时间
 * @param forceClose 是否强制关闭
 * @usage js.closeLoading(1000, true);
 */
js.closeLoading(timeout, forceClose);

/**
 * 得到layer对话框对象
 * js.layer.msg();
 */
js.layer;

/**
 * 显示提示框
 * @param message 提示消息
 * @param title 提示标题
 * @param type 提示类型(success、error、warning、info)
 * @param timeout 自动关闭毫秒(默认4000毫秒)
 */
js.showMessage(message, title, type, timeout);

/**
 * 显示错误提示框
 */
js.showErrorMessage(responseText);

/**
 * 关闭提示框
 */
js.closeMessage();

/**
 * 提示对话框
 * @param message 提示消息
 * @param options 对话框选项
 * @param closed 对话框关闭回调方法
 * @usage js.alert('你好!', function(){})
 * @usage js.alert('你好!', {icon: 2}, function(){})
 */
js.alert(message, options, closed);

/**
 * 确认对话框
 * @param message 确认信息
 * @param urlOrFun 确认后的跳转的地址,或调用的方法
 * @param data 如果urlOrFun是地址,该参数是调用地址的参数信息
 * @param callback 执行ajax的回调方法,如果为空,则直接通过location=urlOrFun跳转。
 * @param dataType 返回数据类型(默认json)
 * @param async 是否异步(默认true)
 * @param loadingMessage 调用loading(loadingMessage)的提示信息。
 * @usage js.confirm('确认删除吗?', '$ctx/biz/delete?id=123', function(data){alert('删除成功')}, 'json', true, '正在删除...');
 * @usage js.confirm('确认删除吗?', '$ctx/biz/delete', {id: '123'}, function(data){alert('删除成功')}, 'json', true, '正在删除...');
 * @usage js.confirm('确认删除吗?', function(data){alert('删除成功')});
 */
js.confirm(message, urlOrFun, data, callback, dataType, async, loadingMessage);

JS 模板


/**
 * 根据js模板生成代码,使用laytpl引擎
 * @param id 模板ID
 * @param data 模板数据(可选)
 * @param callback 如果填写,则为异步渲染
 * @usage 
 * 		模板格式: <sc ript id="dempTpl" type="text/template">//<!--
 * 					 这里写模块内容...
 * 				//--></sc ript>
 * 		调用方法: js.template('dempTpl', data);
 * 		模版语法:
 * 			输出一个普通字段,不转义html:   { { d.field } }
 * 			输出一个普通字段,并转义html:   { {= d.field } }
 * 			JavaScript脚本: { {# JavaScript statement } }
 */
js.template(id, data, callback);

Ajax 表单


/**
 * AJAX 提交
 * js.ajaxSubmit('/sys/user/save', {param: 1}, function(data){})
 */
js.ajaxSubmit(url, data, callback, dataType, async, message);

/**
 * AJAX 提交表单(支持文件上传)
 * js.ajaxSubmitForm($(form), function(data){})
 */
js.ajaxSubmitForm(formJqueryObj, callback, dataType, async, message);

字符串操作


/**
 * String两边去空格
 */
js.trim(str);

/**
 * String的startWith(正则表达式方式)
 */
js.startWith(str, start);

/**
 * String的startWith(slice方式)
 */
js.startsWith(str, prefix);

/**
 * String的endWith(正则表达式方式)
 */
js.endWith(str, end);

/**
 * String的endWith(indexOf方式)
 */
js.endsWith(str, suffix);

/**
 * 截取字符串,区别汉字和英文
 */
js.abbr(name, maxLength);

数值类型操作


/**
 * 格式化数值
 * @param num 待格式化的树
 * @param cent 保留小数位数
 * @param isThousand 是否进行千分位格式化
 */
js.formatNumber(num, cent, isThousand);

/**
 * 金额格式化(千位符,小数四舍五入)金额每隔三位加一个逗号
 * @param s 要格式化的数值
 * @param n 小数位数
 */
js.formatMoney(s, n);

/**
 * 数值前补零
 */
js.numberPad(num, n);

日期类型操作


/**
 * 日期格式化
 * @param date 日期 new Date()
 * @param f 格式化字符串 yyyy-MM-dd HH:mm:ss
 */
js.formatDate(date, f);

/**
 * 字符串转为日期
 * @param date
 */
js.parseDate(date);

/**
 * 日期加减
 * @param date
 * @param dadd 天数
 */
js.addDate(date, dadd);

/**
 * 快速选择日期方法
 * @param type 1今日,2本周,3本月,4本季度,5上月
 * @param beginDateId 开始日期控件的ID
 * @param endDateId	 结束日期控件的ID
 */
js.quickSelectDate(type, beginDateId, endDateId);

Cookie 操作


/**
 * cookie 操作
 * @param name Cookie名称
 * @param value Cookie值,填写表示设置,不填写表示获取
 * @parma options:{expires:7} 如果是数字,则expires单位为天。
 */
js.cookie(name, value, options);

TabPage 页签


/**
 * 得到TabPage对象
 */
js.tabPage;

/**
 * 初始化TAB页面
 * @param id
 */
js.initTabPage(id, options);

/**
 * 添加TAB页面( class="addTabPage" )
 * @param $this 		点击的对象
 * @param title 		提示标题
 * @param url	 		访问的路径
 * @param closeable	 	是否有关闭按钮
 * @param refresh 		打开后是否刷新重新加载
 */
js.addTabPage($this, title, url, closeable, refresh);

/**
 * 获取当前TAB页面
 * @param currentTabCallback 获取之后回调方法,传入当前tab页面的contentWindow,例如:function(contentWindow){}
 */
js.getCurrentTabPage(currentTabCallback);

/**
 * 获取当前页面的上一个TAB页面,并激活上级页面
 * @param preTabCallback 获取之后回调方法,传入上一个tab页面的contentWindow,例如:function(contentWindow){}
 * @param isCloseCurrentTab 是否关闭当前页签
 */
js.getPrevTabPage(preTabCallback, isCloseCurrentTab);

/**
 * 关闭当前TAB页面,并激活上级页面
 * @param preTabCallback 关闭前的回调方法,传入上一个tab页面的contentWindow,例如:function(contentWindow){}
 */
js.closeCurrentTabPage(preTabCallback);